Mybatis 插入一條或批量插入 返回帶有自增長(zhǎng)主鍵記錄的實(shí)例
首先講一下, 插入一條記錄返回主鍵的 Mybatis 版本要求低點(diǎn),而批量插入返回帶主鍵的 需要升級(jí)到3.3.1版本,3.3.0之前的都不行。
<dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis-spring</artifactId> <version>3.3.1</version> </dependency>
1.MySQL
<insert id="insertByBatch" useGeneratedKeys="true" keyProperty="id" parameterType="java.util.List"> insert into test (sblsh, xh, jsjg, is_success, is_display, gmt_create, gmt_modify, create_user) values <foreach collection="list" item="item" index="index" separator=","> ( #{item.sblsh,jdbcType=BIGINT}, #{item.xh,jdbcType=CHAR}, #{item.jsjg,jdbcType=BIGINT}, #{item.isSuccess,jdbcType=TINYINT}, #{item.isDisplay,jdbcType=TINYINT}, SYSDATE(), SYSDATE(), #{item.createUser,jdbcType=VARCHAR}) </foreach> </insert>
單條和多條 使用都是一樣的, 加入useGeneratedKeys="true" keyProperty="主鍵字段"
2.Oracle
<insert id="insertBatch"> <selectKey keyProperty="id" resultType="Long" order="BEFORE"> select test.nextval as id from dual </selectKey> insert into test (id,value,gmt_create,gmt_modified) select test.nextval, A.* FROM ( <foreach collection="list" item="item" index="index" separator="union all"> select #{item.value,jdbcType=VARCHAR}, #{item.gmtCreate,jdbcType=DATE}, #{item.gmtModified,jdbcType=DATE} from dual </foreach> ) A </insert>
以上這篇Mybatis 插入一條或批量插入 返回帶有自增長(zhǎng)主鍵記錄的實(shí)例就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Java查詢Elasticsearch數(shù)據(jù)根據(jù)指定id檢索(in查詢)、sql權(quán)限過(guò)濾、多字段匹配檢索及數(shù)據(jù)排序
在Java開(kāi)發(fā)中Elasticsearch(簡(jiǎn)稱(chēng)ES)是一個(gè)非常流行的搜索引擎,它提供了強(qiáng)大的全文搜索和分析功能,這篇文章主要給大家介紹了關(guān)于Java查詢Elasticsearch數(shù)據(jù)根據(jù)指定id檢索(in查詢)、sql權(quán)限過(guò)濾、多字段匹配檢索及數(shù)據(jù)排序的相關(guān)資料,需要的朋友可以參考下2024-05-05springboot+Vue實(shí)現(xiàn)分頁(yè)的示例代碼
本文主要介紹了springboot+Vue實(shí)現(xiàn)分頁(yè)的示例代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-06-06Java?ConcurrentHashMap實(shí)現(xiàn)線程安全的代碼示例
眾所周知ConcurrentHashMap是HashMap的多線程版本,HashMap?在并發(fā)操作時(shí)會(huì)有各種問(wèn)題,而這些問(wèn)題,只要使用ConcurrentHashMap就可以完美解決了,本文將給詳細(xì)介紹ConcurrentHashMap是如何保證線程安全的2023-05-05Java利用TCP協(xié)議實(shí)現(xiàn)客戶端與服務(wù)器通信(附通信源碼)
這篇文章主要介紹了Java利用TCP協(xié)議實(shí)現(xiàn)客戶端與服務(wù)器通信(附通信源碼),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-07-07Java編程實(shí)現(xiàn)向文本文件中讀取數(shù)據(jù)之Scanner用法示例
這篇文章主要介紹了Java編程實(shí)現(xiàn)向文本文件中讀取數(shù)據(jù)之Scanner用法,結(jié)合實(shí)例形式分析了java使用Scanner類(lèi)讀取文本文件相關(guān)操作技巧與注意事項(xiàng),需要的朋友可以參考下2018-03-03mybatis參數(shù)類(lèi)型不匹配錯(cuò)誤argument type mismatch的處理方案
這篇文章主要介紹了mybatis參數(shù)類(lèi)型不匹配錯(cuò)誤argument type mismatch的處理方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-01-01springboot中使用Hibernate-Validation校驗(yàn)參數(shù)詳解
這篇文章主要為大家介紹了springboot中使用Hibernate-Validation校驗(yàn)參數(shù)詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-07-07