第一种是在insert标签内使用selectkey标签
<!--selectkey的使用,现在想要添加一件商品,并返回该商品的主键-->
<mapper namespace="com.lzy.mapper.GoodsMapper">
<insert id="insertGoods" parameterType="com.lzy.pojo.Goods">
<!--如果使用@Param起了别名 注意keyProperty属性 把别名带上 -->
<selectKey keyProperty="goods.g_id" order="AFTER" resultType="java.lang.Integer">
SELECT LAST_INSERT_ID()
</selectKey>
insert into goods(g_name,
g_price,
g_repertory,
g_adress,
g_desc,
g_cut) values(#{goods.g_name},#{goods.g_price},#{goods.g_repertory},#{goods.g_adress},#{goods.g_desc},#{goods.g_cut})
</insert>
</mapper>
第二种是insert中 useGeneratedKeys中属性的使用
<insert id="insertOrder" useGeneratedKeys="true" keyProperty="id" keyColumn="id">
insert into d_order values(null,#{goodPrice},#{addressId},#{userId})
</insert>
两种方式都可以在插入成功后,直接去被插入对象中直接获取主键id,达到插入并返回主键的效果.