日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

Mybatis批量插入返回插入成功后的主鍵id操作

瀏覽:40日期:2023-10-19 15:21:06

我們都知道Mybatis在插入單條數據的時候有兩種方式返回自增主鍵:

1、對于支持生成自增主鍵的數據庫:增加 useGenerateKeys和keyProperty ,<insert>標簽屬性。

2、不支持生成自增主鍵的數據庫:使用<selectKey>。

但是怎么對批量插入數據返回自增主鍵的解決方式網上看到的還是比較少,至少百度的結果比較少。

Mybatis官網資料提供如下:

First, if your database supports auto-generated key fields (e.g. MySQL and SQL Server), then you can simply set useGeneratedKeys='true' and set the keyProperty to the target property and you’re done. For example, if the Authortable above had used an auto-generated column type for the id, the statement would be modified as follows:

<insert useGeneratedKeys='true' keyProperty='id'> insert into Author (username,password,email,bio) values (#{username},#{password},#{email},#{bio})</insert> useGeneratedKeys='true' keyProperty='id'> insert into Author (username,password,email,bio) values (#{username},#{password},#{email},#{bio})</insert>

If your database also supports multi-row insert, you can pass a list or an array of Authors and retrieve the auto-generated keys.

<insert useGeneratedKeys='true' keyProperty='id'> insert into Author (username, password, email, bio) values <foreach item='item' collection='list' separator=','> (#{item.username}, #{item.password}, #{item.email}, #{item.bio}) </foreach></insert> useGeneratedKeys='true' keyProperty='id'> insert into Author (username, password, email, bio) values <foreach item='item' collection='list' separator=','> (#{item.username}, #{item.password}, #{item.email}, #{item.bio}) </foreach></insert>

從官網資料可以看出Mybatis是支持批量插入時返回自增主鍵的。

但是在本地測試的時候使用上述方式確實不能返回自增id,而且還報錯(不認識keyProperty中指定的Id屬性),然后在網上找相關資料。終于在Stackoverflow上面找到了一些信息。

解決辦法:

1、升級Mybatis版本到3.3.1。官方在這個版本中加入了批量新增返回主鍵id的功能

2、在Dao中不能使用@param注解。

3、Mapper.xml中使用list變量(parameterType='java.util.List')接受Dao中的參數集合。

下面是具體代碼過程,可供參考

mapper.xml層代碼

<!-- 批量新增 --> <insert parameterType='java.util.List' useGeneratedKeys='true' keyProperty='id' > INSERT INTO <include refid='t_shop_resource' /> (relation_id, summary_id, relation_type) VALUES <foreach collection='list' index='index' item='shopResource' separator=','> ( #{shopResource.relationId}, #{shopResource.summaryId}, #{shopResource.relationType} ) </foreach> </insert>

dao實現層代碼

public List<ShopResource> batchinsertCallId(List<ShopResource> shopResourceList) { this.getSqlSession().insert(getStatement(SQL_BATCH_INSERT_CALL_ID), shopResourceList); return shopResourceList;// 重點介紹 }

補充:MyBatis 插入的同時獲取主鍵id

有時候進行一些多步操作的時候就需要得到最新插入一條記錄的id號,那么如何在插入的同時返回id號

Mapper代碼:

<insert parameterType='com.yj.pojo.Feeds' useGeneratedKeys='true' keyProperty='id'> insert into feeds (id, title, content, pic, video, auther_id, comments, favours, likes, cover_select, views, set_time, kind) values (#{id,jdbcType=INTEGER}, #{title,jdbcType=VARCHAR}, #{content,jdbcType=VARCHAR}, #{pic,jdbcType=VARCHAR}, #{video,jdbcType=VARCHAR}, #{autherId,jdbcType=VARCHAR}, #{comments,jdbcType=INTEGER}, #{favours,jdbcType=INTEGER}, #{likes,jdbcType=INTEGER}, #{coverSelect,jdbcType=INTEGER}, #{views,jdbcType=INTEGER}, #{setTime,jdbcType=VARCHAR}, #{kind,jdbcType=VARCHAR}) </insert>service層:

當設置了useGeneratedKeys='true' keyProperty='id'后,它會在你插入數據庫的同時,將這個對象的id值改為最新的那個id,然后我們只需要取出他就可以了

Mybatis批量插入返回插入成功后的主鍵id操作

最終效果:

數據庫

Mybatis批量插入返回插入成功后的主鍵id操作

輸出

Mybatis批量插入返回插入成功后的主鍵id操作

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持好吧啦網。如有錯誤或未考慮完全的地方,望不吝賜教。

標簽: Mybatis 數據庫
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
日韩av影院| 国产欧美丝祙| 色一区二区三区四区| 日韩国产一二三区| 日韩av影院| 国产一区二区三区不卡av| 精品国产不卡一区二区| 开心激情综合| 正在播放日韩精品| 伊人久久av| 尹人成人综合网| 国产视频一区三区| 久久三级毛片| 日韩理论视频| 日韩精品三级| 免费在线小视频| 日韩中文字幕| 高清不卡一区| 玖玖精品视频| 成人一区而且| 日韩高清不卡一区二区| 成人在线视频中文字幕| 蜜桃久久精品一区二区| 国产香蕉精品| 午夜在线视频观看日韩17c| 亚洲综合五月| 久久视频精品| 欧美国产免费| 亚洲精品自拍| 播放一区二区| 日韩不卡一二三区| 久久高清精品| 国产66精品| 红杏一区二区三区| 日韩有码av| 亚洲一区二区三区免费在线观看| 亚洲天堂一区二区| 蜜臀久久99精品久久久久久9| 亚洲深夜福利在线观看| 麻豆国产精品一区二区三区 | 美女国产一区二区三区| 日韩精品三级| 一本一道久久a久久| 国产毛片久久| 红桃视频国产精品| 久久一区二区三区喷水| 福利一区二区免费视频| 精品三级国产| 久久国产精品99国产| 日韩电影免费网站| 美女视频免费精品| 国产精品伊人| 国产欧美综合一区二区三区| 亚洲成人精品| 欧美激情99| 国产一区亚洲| 亚洲精品大片| 蜜桃视频一区二区| 免费精品视频在线| 日韩精选在线| 国产精品成人一区二区网站软件| 国产欧美综合一区二区三区| 国产精品视频一区视频二区| 国产精品nxnn| xxxxx性欧美特大| 一级欧洲+日本+国产| 鲁大师成人一区二区三区| 蜜臀久久99精品久久久画质超高清| 麻豆理论在线观看| 日韩在线看片| 欧美亚洲一区二区三区| 日韩中文影院| 激情婷婷亚洲| 欧美成人a交片免费看| 日韩精品免费一区二区在线观看| 精品丝袜在线| 999精品一区| 一区免费在线| 日本午夜精品一区二区三区电影| 中文字幕乱码亚洲无线精品一区| 99热精品在线观看| 亚洲欧洲免费| 久久久久久亚洲精品美女| 欧美激情久久久久久久久久久| 精品国产午夜| 欧洲毛片在线视频免费观看| 玖玖玖国产精品| 国产精品视频一区视频二区| 精品视频自拍| 亚洲国产一区二区三区在线播放| 国产美女精品| 国产精品视频3p| 久久久精品日韩| 蜜桃久久精品一区二区| 九九久久国产| 久久不射中文字幕| 国产精品videosex极品| 久久精品二区三区| 亚洲精品福利| 国产精品扒开腿做爽爽爽软件| 欧洲亚洲一区二区三区| 欧美亚洲tv| 中国女人久久久| 国产69精品久久| 在线观看免费一区二区| 中文无码日韩欧| 国产精品毛片久久| 亚洲在线观看| 国产96在线亚洲| 日本久久二区| 亚洲欧美不卡| 国产一区二区三区国产精品| 中文一区一区三区免费在线观 | 欧美特黄一级| 97在线精品| 国产精品videosex极品| 亚洲一级大片| 成人一区而且| 91亚洲精品视频在线观看| 午夜精品成人av| 欧美日韩亚洲一区二区三区在线 | 一区二区三区视频免费观看| 日韩一区二区三区四区五区 | 性欧美精品高清| 蜜桃视频欧美| 精品一区三区| 五月婷婷亚洲| 亚洲午夜电影| 特黄特色欧美大片| 电影91久久久| 欧美激情网址| 精品国产91| 日韩欧美网址| 日韩大片在线| 日韩精品水蜜桃| 欧美日韩在线观看视频小说| av亚洲一区二区三区| 亚洲播播91| 欧美搞黄网站| 久久福利精品| 欧美中文日韩| 丝袜美腿高跟呻吟高潮一区| 国产精品97| 99香蕉国产精品偷在线观看| 久色成人在线| 中文字幕亚洲影视| 美女尤物国产一区| 成人羞羞视频在线看网址| 欧美成人日韩| 日韩二区三区在线观看| 国产精品一区二区精品| 日韩欧美午夜| 婷婷综合一区| 精品一区二区三区中文字幕视频 | 蜜桃精品在线| 亚洲欧美日韩国产一区二区| 免费久久99精品国产| 久久香蕉网站| 另类av一区二区| 久久av日韩| 亚洲免费婷婷| 精品视频99| 日本vs亚洲vs韩国一区三区二区| 精品国产鲁一鲁****| 亚洲精品123区| 精品一区二区三区中文字幕| 狠狠色狠狠色综合日日tαg| 国产精品对白久久久久粗| 免费精品国产| 国产一区二区三区成人欧美日韩在线观看 | 欧美精品羞羞答答| 国产精品三级| 亚洲天堂av资源在线观看| 三上亚洲一区二区| 91精品福利观看| 美女精品在线观看| 亚洲成人二区| 麻豆精品国产91久久久久久| 亚洲精品黄色| 成人久久一区| 精品一区二区三区的国产在线观看| 成人va天堂| 色偷偷偷在线视频播放| 亚洲一区二区日韩| 国产探花在线精品一区二区| 一区在线免费| 超级白嫩亚洲国产第一| 伊人久久大香线蕉av不卡| 亚洲理论在线| 91精品一区国产高清在线gif| 丰满少妇一区| 日韩精品免费视频一区二区三区| 国产suv精品一区二区四区视频 | 老鸭窝毛片一区二区三区| 久久伊人久久| 日韩精品亚洲专区| 国产videos久久| 国产亚洲久久| 在线观看亚洲精品福利片| 国产91精品对白在线播放|