mybatis insert 返回自增主鍵的實現(xiàn)示例
需求
mybatis 在新增之后怎么也獲取不到自增主鍵,通過不段的摸索原來是姿勢不對,記錄一下希望能幫助下一位采坑的同學(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 | 實體類中屬性名 |
| keyColumn | 數(shù)據(jù)庫主鍵字段名 如果和實體屬性名一樣可以不用寫 |
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é)果類型 |
| keyProperty | 實體類中屬性名 |
| keyColumn | 數(shù)據(jù)庫主鍵字段名 |
| order | 這可以被設(shè)置為 BEFORE 或 AFTER。如果設(shè)置為 BEFORE,那么它會首先選擇主鍵,設(shè)置 keyProperty 然后執(zhí)行插入語句。如果設(shè)置為 AFTER,那么先執(zhí)行插入語句,然后是 selectKey 元素 - 這和像 Oracle 的數(shù)據(jù)庫相似,在插入語句內(nèi)部可能有嵌入索引調(diào)用。 |
| statementType | MyBatis 支持 STATEMENT、PREPARED 和 CALLABLE 語句的映射類型,分別代表 PreparedStatement 和 CallableStatement 類型 |
到此這篇關(guān)于mybatis insert 返回自增主鍵的實現(xiàn)示例的文章就介紹到這了,更多相關(guān)mybatis insert 返回自增主鍵內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Spring Boot應(yīng)用事件監(jiān)聽示例詳解
這篇文章主要給大家介紹了關(guān)于Spring Boot應(yīng)用事件監(jiān)聽的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2018-12-12
Spring Data JPA帶條件分頁查詢實現(xiàn)原理
這篇文章主要介紹了Spring Data JPA帶條件分頁查詢實現(xiàn)原理,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-05-05
最新log4j2遠(yuǎn)程代碼執(zhí)行漏洞(附解決方法)
Apache?Log4j2?遠(yuǎn)程代碼執(zhí)行漏洞攻擊代碼,該漏洞利用無需特殊配置,經(jīng)多方驗證,Apache?Struts2、Apache?Solr、Apache?Druid、Apache?Flink等均受影響,本文就介紹一下解決方法2021-12-12
maven tomcat plugin實現(xiàn)熱部署
這篇文章主要介紹了maven tomcat plugin實現(xiàn)熱部署,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-07-07
Spring中網(wǎng)絡(luò)請求客戶端WebClient的使用詳解
作為替代,Spring 官方已在 Spring 5 中引入了 WebClient 作為非阻塞式 Reactive HTTP 客戶端,本文將通過樣例演示如何使用 WebClient,希望對大家有所幫助2024-04-04

