mybatis insert 返回自增主鍵的實現(xiàn)示例
更新時間:2024年06月27日 10:20:56 作者:薄荷街的兔比先生
mybatis 在新增之后怎么也獲取不到自增主鍵,本文主要介紹了mybatis insert 返回自增主鍵的實現(xiàn)示例,具有一定的參考價值,感興趣的可以了解一下
需求
mybatis 在新增之后怎么也獲取不到自增主鍵,通過不段的摸索原來是姿勢不對,記錄一下希望能幫助下一位采坑的同學
方式一
映射方式
<-- 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 | 結果類型 |
| keyProperty | 實體類中屬性名 |
| keyColumn | 數(shù)據(jù)庫主鍵字段名 |
| order | 這可以被設置為 BEFORE 或 AFTER。如果設置為 BEFORE,那么它會首先選擇主鍵,設置 keyProperty 然后執(zhí)行插入語句。如果設置為 AFTER,那么先執(zhí)行插入語句,然后是 selectKey 元素 - 這和像 Oracle 的數(shù)據(jù)庫相似,在插入語句內部可能有嵌入索引調用。 |
| statementType | MyBatis 支持 STATEMENT、PREPARED 和 CALLABLE 語句的映射類型,分別代表 PreparedStatement 和 CallableStatement 類型 |
到此這篇關于mybatis insert 返回自增主鍵的實現(xiàn)示例的文章就介紹到這了,更多相關mybatis insert 返回自增主鍵內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
如何使用Spring AOP優(yōu)雅實現(xiàn)橫切邏輯復用
本文詳細介紹了Spring AOP的核心概念、在Spring Boot中的使用方式、實現(xiàn)原理及多切面執(zhí)行順序,AOP作為面向對象編程的補充,通過橫切邏輯的分離,能有效簡化日志、事務、權限等功能的開發(fā),提升代碼的可維護性和復用性,感興趣的朋友跟隨小編一起看看吧2025-12-12
SpringBoot線上環(huán)境徹底關閉Swagger-UI的方式
這篇文章主要給大家介紹了SpringBoot線上環(huán)境徹底關閉Swagger-UI的方式,文中給出了詳細的代碼示例供大家參考,對大家的學習或工作有一定的幫助,需要的朋友可以參考下2023-12-12
Mybatis?MappedStatement類核心原理詳解
這篇文章主要介紹了Mybatis?MappedStatement類,mybatis的mapper文件最終會被解析器,解析成MappedStatement,其中insert|update|delete|select每一個標簽分別對應一個MappedStatement2022-11-11
Spring Boot中Redis序列化優(yōu)化配置詳解
在使用Spring Boot集成Redis時,序列化方式的選擇直接影響數(shù)據(jù)存儲的效率和系統(tǒng)兼容性,默認的JDK序列化存在可讀性差、存儲空間大等問題,本文將深入探討如何優(yōu)化Redis序列化配置,感興趣的朋友跟隨小編一起看看吧2025-05-05
java如何將Object數(shù)組轉換為指定類型數(shù)組
這篇文章主要介紹了java如何將Object數(shù)組轉換為指定類型數(shù)組,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-08-08

