在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 + "\n剛剛插入記錄的主鍵自增長值為:" + message.getMsgId());