MyBatis获取插入记录的自增长字段值

时间:2022-10-21 03:36:43

在Mybatis Mapper文件中添加属性“useGeneratedKeys”和“keyProperty”,其中keyProperty是Java对象的属性名!

 <insert id="addMessage" parameterType="Message" useGeneratedKeys="true" keyProperty="msgid">
<!-- useGeneratedKeys指定myBatis使用数据库自动生成的主键,并填充到keyProperty指定的属性上。如果未指定,返回对象拿不到生成的值 -->
insert into `message_detail` (msgsubject,msgcontent,msgtime,msgtype,creatorid,creator,usertype,revoked)
values(#{msgsubject},#{msgcontent},#{msgtime},1,#{creatorid},#{creator},#{usertype},0)
</insert>

Mybatis执行完插入语句后,自动将自增长值赋值给对象Message的属性msgid。因此,可通过Message对应的getter方法获取!

  int count = msgMapper.addMessage(message);
System.out.println("共插入" + count + "条记录!"
+ "\n刚刚插入记录的主键自增长值为:" + message.getMsgId());