mybatis insert 返回自增主鍵的實(shí)現(xiàn)示例
需求
mybatis 在新增之后怎么也獲取不到自增主鍵,通過(guò)不段的摸索原來(lái)是姿勢(shì)不對(duì),記錄一下希望能幫助下一位采坑的同學(xué)
方式一
映射方式
<-- xml 映射的方式 -->
<insert id="insert" parameterType="com.kebi.User" useGeneratedKeys="true" keyProperty="id" keyColumn="id">
INSERT INTO user (
username, password
) VALUES (
#{username}, #{password}
)
</insert>
| 屬性 | 描述 |
|---|---|
| useGeneratedKeys | 為 true 則返回主鍵的值 |
| keyProperty | 實(shí)體類(lèi)中屬性名 |
| keyColumn | 數(shù)據(jù)庫(kù)主鍵字段名 如果和實(shí)體屬性名一樣可以不用寫(xiě) |
private UsertMapper userMapper;
User user = new User();
user.setUserName("name");
user.setPassWord("123")
userMapper.insert(user);
System.out.println("獲取自增主鍵:"+ user.getId());
方式二
selectKey 的方式
<-- xml 映射的方式 -->
<insert id="INSERT" parameterType="com.kebi.User">
<selectKey resultType="int" order="AFTER" keyProperty="id" keyColumn="id">
SELECT LAST_INSERT_ID()
</selectKey>
INSERT INTO users (
username, password
) VALUES (
#{username}, #{password}
)
</insert>
| 屬性 | 描述 |
|---|---|
| resultType | 結(jié)果類(lèi)型 |
| keyProperty | 實(shí)體類(lèi)中屬性名 |
| keyColumn | 數(shù)據(jù)庫(kù)主鍵字段名 |
| order | 這可以被設(shè)置為 BEFORE 或 AFTER。如果設(shè)置為 BEFORE,那么它會(huì)首先選擇主鍵,設(shè)置 keyProperty 然后執(zhí)行插入語(yǔ)句。如果設(shè)置為 AFTER,那么先執(zhí)行插入語(yǔ)句,然后是 selectKey 元素 - 這和像 Oracle 的數(shù)據(jù)庫(kù)相似,在插入語(yǔ)句內(nèi)部可能有嵌入索引調(diào)用。 |
| statementType | MyBatis 支持 STATEMENT、PREPARED 和 CALLABLE 語(yǔ)句的映射類(lèi)型,分別代表 PreparedStatement 和 CallableStatement 類(lèi)型 |
到此這篇關(guān)于mybatis insert 返回自增主鍵的實(shí)現(xiàn)示例的文章就介紹到這了,更多相關(guān)mybatis insert 返回自增主鍵內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
java——Byte類(lèi)/包裝類(lèi)的使用說(shuō)明
這篇文章主要介紹了java——Byte類(lèi)/包裝類(lèi)的使用說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2021-02-02
Spring Boot應(yīng)用事件監(jiān)聽(tīng)示例詳解
這篇文章主要給大家介紹了關(guān)于Spring Boot應(yīng)用事件監(jiān)聽(tīng)的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2018-12-12
Spring Data JPA帶條件分頁(yè)查詢(xún)實(shí)現(xiàn)原理
這篇文章主要介紹了Spring Data JPA帶條件分頁(yè)查詢(xún)實(shí)現(xiàn)原理,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-05-05
最新log4j2遠(yuǎn)程代碼執(zhí)行漏洞(附解決方法)
Apache?Log4j2?遠(yuǎn)程代碼執(zhí)行漏洞攻擊代碼,該漏洞利用無(wú)需特殊配置,經(jīng)多方驗(yàn)證,Apache?Struts2、Apache?Solr、Apache?Druid、Apache?Flink等均受影響,本文就介紹一下解決方法2021-12-12
maven tomcat plugin實(shí)現(xiàn)熱部署
這篇文章主要介紹了maven tomcat plugin實(shí)現(xiàn)熱部署,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-07-07
idea如何關(guān)閉右側(cè)類(lèi)顯示方法
這篇文章主要介紹了idea如何關(guān)閉右側(cè)類(lèi)顯示方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-07-07
Spring中網(wǎng)絡(luò)請(qǐng)求客戶(hù)端WebClient的使用詳解
作為替代,Spring 官方已在 Spring 5 中引入了 WebClient 作為非阻塞式 Reactive HTTP 客戶(hù)端,本文將通過(guò)樣例演示如何使用 WebClient,希望對(duì)大家有所幫助2024-04-04

