MyBatis如何使用selectKey返回主鍵的值
更新時間:2022年01月23日 09:58:45 作者:pbyang5689
這篇文章主要介紹了MyBatis如何使用selectKey返回主鍵的值,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
使用selectKey返回主鍵的值
使用<selectKey>標(biāo)簽來獲取插入操作主鍵返回的值。
對于MySQL數(shù)據(jù)庫
? <insert id="insert"> ? ? ? ?insert into user( ? ? ? ?username, password, email, info, headImg, createTime) ? ? ? ?values( ? ? ? ?#{username}, #{password}, #{email}, ? ? ? ?#{info}, #{headImg, jdbcType=BLOB}, ? ? ? ?#{createTime, jdbcType=TIMESTAMP}) ? ? ? ?<selectKey keyColumn="id" resultType="long" keyProperty="id" order="AFTER"> ? ? ? ? ? SELECT LAST_INSERT_ID() ? ? ? ?</selectKey> ? ?? ? ?</insert>
通過selectkey返回insert或update后的值
實體類如下:
表結(jié)構(gòu)如下:
其中varId為主鍵,但非自增
@selectKey使用
@selectKey
statement
:指定查詢的語句keyProperty
:指定結(jié)果對應(yīng)的實體類的字段,如果是多個字段,采用逗號,分隔。如varId,varName,keyColumn
:指定stament語句返回的列明,與keyProperty對應(yīng),如果多個,采用逗號分隔。resultType
:返回值類型before
:ture,插入前執(zhí)行,false插入后執(zhí)行
插入時,如何查詢當(dāng)前最大id,并賦值給實體類,示例如下:
方案1
插入前,首先查詢當(dāng)前最大的id,并賦值給實體對象
如下:
方案2
插入時,獲取當(dāng)前最大值,插入
插入后,查詢當(dāng)前最大的id,并賦值給實體對象。
如下:
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Java向Runnable線程傳遞參數(shù)方法實例解析
這篇文章主要介紹了Java向Runnable線程傳遞參數(shù)方法實例解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-06-06利用IDEA工具修改Maven多模塊項目標(biāo)識包名全過程記錄
當(dāng)我們?yōu)榧追椒?wù)提供軟件開發(fā)服務(wù)時,需要按照甲方的要求去修改軟件的標(biāo)識,對于Maven項目來說就對應(yīng)著groupId,一般地寫對方公司的域名,如com.example,接下來通過本文給大家分享IDEA修改Maven多模塊項目標(biāo)識包名,感興趣的朋友一起看看吧2022-09-09