方法一(实测可用):
<insert id="add" useGeneratedKeys="true" keyProperty="id" parameterType="com.zhengfeng.health.pojo.Order"> insert into t_order (id, member_id, orderDate, orderType, orderStatus, setmeal_id) VALUES(null, #{memberId}, #{orderDate}, #{orderType}, #{orderStatus}, #{setmealId}) </insert>
修改完成之后,我们添加的数据Order类型的order对象中的id就已经填充好了,如果要用的话直接用get方法获取即可。
方法二(未测):
<insert id="insert" parameterType="com.zhengfeng.health.pojo.Setmeal"> <selectKey resultType="integer" order="AFTER" keyProperty="id"> select LAST_INSERT_ID() </selectKey> INSERT INTO t_setmeal (id, name, code, helpCode, sex, age, price, remark) VALUES (#{id}, #{name}, #{code}, #{helpCode},#{sex},#{age},#{price},#{remark}); </insert>
SelectKey需要注意order属性,像Mysql一类支持自动增长类型的数据库中,order需要设置为after才会取到正确的值。