改写SSM项目https://www.bilibili.com/video/BV18J411k7SF?from=search&seid=7715680395343362130出现
Column 'goods_id' in where clause is ambiguous解决办法
原因分析及解释:https://www.bilibili.com/video/av925559812
P22 商品加入购物车前端处理 空降9分42
<select id="selectByExample" parameterType="com.damu.xiaomi.entry.GoodsCartExample" resultMap="BaseResultMapWithGoodsimage">
<!--
WARNING - @mbg.generated
This element is automatically generated by MyBatis Generator, do not modify.
This element was generated on Tue Dec 10 19:17:22 CST 2019.
-->
select gc.id, gc.goods_id, gc.add_date, gc.buy_count, gc.subtotal, gc.consumer_id,
gi.id giid, gi.path, gi.title, gi.alt, gi.goods_id gigid
from xiaomi.goods_cart gc
left join xiaomi.goods_images gi
on gc.goods_id = gi.goods_id
<if test="_parameter != null">
<include refid="Example_Where_Clause" />
</if>
<if test="orderByClause != null">
order by ${orderByClause}
</if>
</select>
<resultMap id="BaseResultMapWithGoodsimage" type="com.damu.xiaomi.entry.GoodsCart">
<!--
WARNING - @mbg.generated
This element is automatically generated by MyBatis Generator, do not modify.
This element was generated on Tue Dec 10 19:17:22 CST 2019.
-->
<id column="id" jdbcType="INTEGER" property="id" />
<result column="buy_count" jdbcType="INTEGER" property="buyCount" />
<result column="goods_id" jdbcType="INTEGER" property="goodsId" />
<result column="add_date" jdbcType="TIMESTAMP" property="addDate" />
<result column="subtotal" jdbcType="DOUBLE" property="subtotal" />
<result column="consumer_id" jdbcType="INTEGER" property="consumerId" />
<collection property="goodsImages" ofType="com.damu.xiaomi.entry.GoodsImages">
<id column="giid" property="id"/>
<result column="path" property="path"/>
<result column="title" property="title"/>
<result column="alt" property="alt"/>
</collection>
</resultMap>
sql id="Example_Where_Clause">
<!--
WARNING - @mbg.generated
This element is automatically generated by MyBatis Generator, do not modify.
This element was generated on Tue Dec 10 19:17:22 CST 2019.
-->
<where>
<foreach collection="oredCriteria" item="criteria" separator="or">
<if test="criteria.valid">
<trim prefix="(" prefixOverrides="and" suffix=")">
<foreach collection="criteria.criteria" item="criterion">
<choose>
<when test="criterion.noValue">
and ${criterion.condition}
</when>
<when test="criterion.singleValue">
and ${criterion.condition} #{criterion.value}
</when>
<when test="criterion.betweenValue">
and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}
</when>
<when test="criterion.listValue">
and ${criterion.condition}
<foreach close=")" collection="criterion.value" item="listItem" open="(" separator=",">
#{listItem}
</foreach>
</when>
</choose>
</foreach>
</trim>
</if>
</foreach>
</where>
</sql>
解决办法::在mysql 生成视图
create view v_goodcartinfo as(
select gc.id, gc.goods_id, gc.add_date, gc.buy_count, gc.subtotal, gc.consumer_id,
gi.id giid, gi.path, gi.title, gi.alt, gi.goods_id gigid
from xiaomi.goods_cart gc
left join xiaomi.goods_images gi
on gc.goods_id = gi.goods_id
)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)