如果把表的主鍵設為了自增長,在后面進行insert操作時,資料庫自動幫我們生成了id,
比如:
insert into account (name, money) values (#{name}, #{money}) //假設name = "vip", money = "666"
執行完后,我們去看資料庫,發現多了一條記錄:
![]()
好,現在問題來了:看了資料庫后我們知道自動生成的id是11,如果不看資料庫,能不能知道這個id呢?
selectKey就能解決這個問題!
示例如下:
<insert id="insert" parameterType="cn.liuxingchang.domain.Account">
<selectKey keyProperty="id" keyColumn="id" order="AFTER" resultType="int">
select last_insert_id()
</selectKey>
insert into account (name, money) values (#{name}, #{money})
</insert>
說明:
1、keyColumn:資料表中那個自增長的id!
2、keyProperty:資料表的欄位和物體類的屬性是對應的,自增長的那玩意兒在物體類中對應的屬性就是keyProperty!
3、order:本標簽內的陳述句(這里是 select last_insert_id() )是先執行還是后執行!
這里order="AFTER",什么意思呢?
意思是:select last_insert_id()后執行,insert into account (name, money) values (#{name}, #{money})先執行!
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/164200.html
標籤:其他
上一篇:淺析mvcc原理
