在Mybatis Mapper文件中添加属性“useGeneratedKeys”和“keyProperty”,其中keyProperty是Java对象的属性名!
1 <insert id="addMessage" parameterType="Message" useGeneratedKeys="true" keyProperty="msgid"> 2 <!-- useGeneratedKeys指定myBatis使用数据库自动生成的主键,并填充到keyProperty指定的属性上。如果未指定,返回对象拿不到生成的值 --> 3 insert into `message_detail` (msgsubject,msgcontent,msgtime,msgtype,creatorid,creator,usertype,revoked) 4 values(#{msgsubject},#{msgcontent},#{msgtime},1,#{creatorid},#{creator},#{usertype},0) 5 </insert>
Mybatis执行完插入语句后,自动将自增长值赋值给对象Message的属性msgid。因此,可通过Message对应的getter方法获取!
1 int count = msgMapper.addMessage(message); 2 System.out.println("共插入" + count + "条记录!" 3 + " 刚刚插入记录的主键自增长值为:" + message.getMsgId());