成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久

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

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

瀏覽:4日期: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 數據庫
相關文章:
成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久
亚洲在线免费| 久久久久国产成人精品亚洲午夜| 国产一区不卡在线| 久久伊人中文字幕| 一区二区三区四区不卡在线 | 欧美乱妇15p| 丝袜美腿亚洲色图| 99国产精品99久久久久久粉嫩| 久久精品一区八戒影视| 国产精品亚洲专一区二区三区| 久久久久久一区二区| 一区二区三区在线免费观看| 欧美日本国产精品| 久久免费国产精品| 成人激情免费电影网址| 91精品免费观看| 精品亚洲成a人| 欧美日韩中文一区| 久久精品国产在热久久| 色激情天天射综合网| 亚洲综合久久av| 亚洲精品乱码久久久久久蜜桃麻豆 | 亚洲一区二区视频在线观看| 黄色亚洲精品| 国产精品网友自拍| 午夜日韩av| 国产日韩在线不卡| 99久久久精品| 在线精品视频免费观看| 日本美女一区二区| 91激情五月电影| 日产精品久久久久久久性色| 一本一道久久a久久精品| 日日夜夜一区二区| 色丁香久综合在线久综合在线观看| 午夜精品视频在线观看| 色综合久久久久网| 久久精品国产亚洲aⅴ| 欧美视频在线一区| 韩日精品视频一区| 日韩三级视频在线观看| 成人精品电影在线观看| 精品99一区二区| 91在线视频播放| 亚洲国产高清在线观看视频| 一区二区在线视频观看| 亚洲欧美成aⅴ人在线观看 | 午夜亚洲性色视频| 一区二区三区视频在线观看| 亚洲一区日韩在线| 秋霞影院一区二区| 欧美日韩dvd在线观看| 国产精品自在在线| 欧美tk—视频vk| 欧美视频1区| 尤物视频一区二区| 色老汉一区二区三区| 国产大陆a不卡| 国产欧美视频一区二区| 中文亚洲字幕| 免费成人在线观看视频| 欧美精品久久久久久久多人混战| 国产91露脸合集magnet | 久久精品日产第一区二区三区高清版 | 日韩视频一区二区三区在线播放免费观看| 亚洲欧洲制服丝袜| 美女网站久久| 国内精品久久久久影院色| 制服丝袜av成人在线看| 91在线码无精品| 亚洲人成网站影音先锋播放| 91极品美女在线| 高清久久久久久| 中文字幕中文字幕一区二区| 亚洲欧美日韩国产| 极品少妇xxxx精品少妇| 亚洲精品一区二区三区蜜桃下载 | 国产精品久久久久aaaa| 免费国产自线拍一欧美视频| 国产欧美一区二区三区鸳鸯浴| 禁久久精品乱码| 亚欧色一区w666天堂| 日韩午夜精品视频| 午夜精品一区二区三区四区| 亚洲一区在线播放| 在线综合+亚洲+欧美中文字幕| 欧美~级网站不卡| 亚洲一区自拍偷拍| 欧美一区三区四区| 黄色一区二区三区四区| 午夜国产精品影院在线观看| 欧美一级欧美三级在线观看| 亚洲亚洲精品三区日韩精品在线视频| 天天影视涩香欲综合网| 日韩欧美色综合| 一本色道久久综合亚洲二区三区| 日韩av午夜在线观看| 精品国产1区二区| 亚洲欧美卡通另类91av | 强制捆绑调教一区二区| 日韩视频免费观看高清完整版在线观看 | 国产精品久久久一区二区三区 | 91偷拍与自偷拍精品| 亚洲午夜视频在线观看| 欧美一区二区黄色| 99国产精品久久久久老师| 久久99国产精品久久99| 国产精品色噜噜| 精品视频一区二区不卡| 亚洲网友自拍| 精品系列免费在线观看| 国产精品毛片久久久久久久| 欧美午夜不卡在线观看免费| 欧美精品福利| 蜜臀精品一区二区三区在线观看 | 国产拍欧美日韩视频二区| 在线一区二区三区| 国产精品igao视频网网址不卡日韩| 日韩精品电影在线观看| 久久久91精品国产一区二区精品 | 久久众筹精品私拍模特| 久久激情中文| 欧美日韩精品久久| 国产在线精品免费| 亚洲欧美日韩电影| 精品精品国产高清a毛片牛牛| 亚洲欧美国产不卡| 亚洲欧美综合| 国产精品1024| 亚洲v日本v欧美v久久精品| 国产女同互慰高潮91漫画| 欧美日韩高清一区二区三区| 宅男噜噜噜66国产日韩在线观看| 成人网页在线观看| 日韩激情在线观看| 中文字幕不卡在线| 在线不卡欧美精品一区二区三区| 国产欧美一级| 欧美xx69| 国产成人免费视频| 日日摸夜夜添夜夜添精品视频| 欧美韩日一区二区三区| 在线播放亚洲一区| 麻豆亚洲精品| 在线播放不卡| av在线不卡观看免费观看| 天天色天天爱天天射综合| 免费看的黄色欧美网站| 国产精品www994| 国产成人福利片| 六月婷婷色综合| 天天综合天天综合色| 精品国精品国产尤物美女| 欧美日韩一区二区三区高清 | 欧美高清在线视频| 欧美成人一区二区三区在线观看| 欧美亚洲另类激情小说| 亚洲欧美日韩综合一区| 激情一区二区| 欧美日韩一区二区三| gogo大胆日本视频一区| 蜜桃在线一区二区三区| 香蕉久久夜色精品国产使用方法 | 精品一区二区三区在线播放 | 337p日本欧洲亚洲大胆色噜噜| 日韩一级二级三级| 91.麻豆视频| 91麻豆精品国产91| 在线综合视频播放| 这里只有精品99re| 欧美一级欧美三级在线观看| 欧美一级理论性理论a| 欧美一级二级在线观看| 欧美一级电影网站| 欧美大片在线观看一区二区| 日韩一区国产二区欧美三区| 欧美一级二级在线观看| 欧美成人一区二区三区片免费| 欧美成va人片在线观看| 日韩欧美国产综合一区| xnxx国产精品| 久久久久国产精品麻豆 | 337p日本欧洲亚洲大胆色噜噜| 久久婷婷麻豆| 久久成人亚洲| 国产综合18久久久久久| 女人天堂亚洲aⅴ在线观看| av福利精品导航| 国产99久久久国产精品潘金 | 成人免费视频播放| 亚洲免费色视频| 亚洲一区二区精品久久av| 国产精品色呦呦| 欧美精品一区二区三区久久久 | 欧美精品一区二区三区在线播放| 欧美挠脚心视频网站| 欧美视频一区在线观看| 欧美电影在线免费观看| 欧美电影一区二区三区| 欧美日韩国产高清一区二区三区 |