实现:自增ID值将返回到 Commodity(对应 parameterType="com.ljw.po.Commodity") 新增对象的 commodityId(对于 keyProperty="commodityId") 字段
方式一 :添加 useGeneratedKeys="true" keyProperty="commodityId"
<insert id="insertSelective" parameterType="com.ljw.po.Commodity" useGeneratedKeys="true" keyProperty="commodityId">
insert into commodity
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="commodityCategoryId != null">
commodity_category_id,
</if>
<if test="commodityName != null">
commodity_name,
</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="commodityCategoryId != null">
#{commodityCategoryId,jdbcType=INTEGER},
</if>
<if test="commodityName != null">
#{commodityName,jdbcType=VARCHAR},
</if>
</trim>
</insert>
方式二 :查询最后自增ID映射到 commodityId 列
<insert id="insertSelective" parameterType="com.ljw.po.Commodity">
insert into commodity
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="commodityCategoryId != null">
commodity_category_id,
</if>
<if test="commodityName != null">
commodity_name,
</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="commodityCategoryId != null">
#{commodityCategoryId,jdbcType=INTEGER},
</if>
<if test="commodityName != null">
#{commodityName,jdbcType=VARCHAR},
</if>
</trim>
<!-- 关键代码 -->
<selectKey keyProperty="commodityId" resultType="java.lang.Integer">
select LAST_INSERT_ID() as commodityId
</selectKey>
</insert>