MyBatis如何使用selectKey返回主鍵的值
更新時間:2022年01月23日 09:58:45 作者:pbyang5689
這篇文章主要介紹了MyBatis如何使用selectKey返回主鍵的值,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
使用selectKey返回主鍵的值
使用<selectKey>標簽來獲取插入操作主鍵返回的值。
對于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后的值
實體類如下:

表結構如下:

其中varId為主鍵,但非自增
@selectKey使用
@selectKey
statement:指定查詢的語句keyProperty:指定結果對應的實體類的字段,如果是多個字段,采用逗號,分隔。如varId,varName,keyColumn:指定stament語句返回的列明,與keyProperty對應,如果多個,采用逗號分隔。resultType:返回值類型before:ture,插入前執(zhí)行,false插入后執(zhí)行
插入時,如何查詢當前最大id,并賦值給實體類,示例如下:
方案1
插入前,首先查詢當前最大的id,并賦值給實體對象
如下:

方案2
插入時,獲取當前最大值,插入
插入后,查詢當前最大的id,并賦值給實體對象。
如下:

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
您可能感興趣的文章:
- MyBatis insert語句返回主鍵和selectKey標簽方式
- mybatis?selectKey賦值未生效的原因分析
- Mybatis3中方法返回生成的主鍵:XML,@SelectKey,@Options詳解
- mybatis?獲取更新(update)記錄的id之<selectKey>用法說明
- mybatis的selectKey作用詳解
- Mybatis?selectKey 如何返回新增用戶的id值
- Mybatis插入時返回自增主鍵方式(selectKey和useGeneratedKeys)
- Mybatis @SelectKey用法解讀
- Mybatis示例之SelectKey的應用
- MyBatis中selectKey標簽及主鍵回填實現(xiàn)
相關文章
SpringBoot集成Redis使用Cache緩存的實現(xiàn)方法
SpringBoot通過配置RedisConfig類和使用Cache注解可以輕松集成Redis實現(xiàn)緩存,主要包括@EnableCaching開啟緩存,自定義key生成器,改變序列化規(guī)則,以及配置RedisCacheManager,本文為使用SpringBoot與Redis處理緩存提供了詳實的指導和示例,感興趣的朋友一起看看吧2024-10-10
Java中使用While語句自增運算遍歷數(shù)組典型實例
這篇文章主要介紹了Java中使用While語句自增運算遍歷數(shù)組典型實例,本文直接給出實例代碼,并對每一句代碼都注解了詳細注釋,需要的朋友可以參考下2015-06-06
spring?cache注解@Cacheable緩存穿透詳解
這篇文章主要介紹了spring?cache注解@Cacheable緩存穿透詳解,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-12-12
Spring Security的持久化用戶和授權實現(xiàn)方式
文章介紹了如何使用JdbcUserDetailsManager實現(xiàn)數(shù)據(jù)庫讀取用戶,并展示了如何配置SpringSecurity進行授權管理,通過創(chuàng)建數(shù)據(jù)庫表、配置數(shù)據(jù)庫連接和修改SecurityConfig,實現(xiàn)了用戶權限的控制2025-02-02
mybaties plus實體類設置typeHandler不生效的解決
這篇文章主要介紹了mybaties plus實體類設置typeHandler不生效的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-08-08

