mybaits批次插入該如何操作
我們時長在批次插入時,需要取得插入資料的id.
這樣:
<insert id="insertUser" parameterType="gys.entity.User" keyProperty="userId" useGeneratedKeys="true">INSERT INTO `user` (userName) VALUES (#{userName})</insert>
這樣是沒問題的.
但是有時候牽扯到批量插入,並且獲取插入的id
這樣寫:
<insert id="insertUserBatch1" keyProperty="userId" useGeneratedKeys="true">INSERT INTO `user` (userName) VALUES<foreach collection="list" separator="," item="item">(#{item.userName})</foreach></insert>
這樣運行後就會出現異常了.
這是因為你用的mybatis版本過低.比如我用的是3.2.2版本,這是mybatis的一個bug.
如果你換成3.4.4版本就沒有問題了.
上面的sql語句換個寫法就又會報異常了(將insert包圍在foreach裡面)
比如:
<insert id="insertUserBatch2"> <foreach collection="list" separator=";" item="item"> INSERT INTO `user` (userName) VALUES (#{item.userName}) </foreach></insert>
同理還有update的批次更新也是有這個問題
<update id="updateUserBatch"><foreach collection="list" item="item" separator=";">update `user` set userName=#{item.userName} where userId=#{item.userId}</foreach></update>
這是因為mybatis預設是只能執行一條sql語句,
可以再連結路徑的時候加上參數,就可以執行多條sql語句了.allowMultiQueries=true
#以上是mybaits批次插入該如何操作的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

Linux下system()函數的總結在Linux系統中,system()函數是一個非常常用的函數,它可以用來執行命令列指令。本文將對system()函數進行詳細的介紹,並提供一些特定的程式碼範例。一、system()函數的基本用法system()函數的聲明如下:intsystem(constchar*command);其中,command參數是一個字符

隨著機器學習和量子計算的巨大進步,我們現在有了更強大的新工具,能夠以新的方式與各行業研究者合作,並從根本上加速突破性科學發現的進展。本期Google年終總結的主題是「自然科學」,文章作者為Google研究院的傑出科學家John Platt,1989年博士畢業於加州理工大學。自從八年前加入Google Research 以來,我有幸成為一個天才研究人員的社群的一員,致力於應用前沿運算技術來推動應用科學的可能性,目前團隊正在探索物理和自然科學的課題,從幫助組織全世界的蛋白質和基因組資訊以造福人們的生活,到利用量

Git工作流程管理經驗總結引言:在軟體開發中,版本管理是一個非常重要的環節。而Git作為目前最受歡迎的版本管理工具之一,其強大的分支管理能力使得團隊協作更有效率和靈活。本文將就Git工作流程管理經驗進行總結與分享。一、Git工作流程簡介Git支援多種工作流程,可依團隊的實際狀況選擇適當的工作流程。常見的Git工作流程有集中式工作流程、功能分支工作流程、GitF

總結報告是職場生存的必備技能,如果有一條條理清晰的PPT總結報告,既可以節省領導的時間,又可以有重點的總結工作,一定可以讓領導印象深刻。 ppt總結報告怎麼寫呢?一起來看看吧!我們打開一個案例文件,根據這個案例進行講解。這個案例看起來有點過時,具體可見下圖。 2.我們既然要修改剛剛的PPT,我們來針對性的講解一下他存在的問題,具體如圖示。 3.這裡為同學介紹一個【配色】的網站,vanschneider.com網站,這裡網站在配色方面還是非常的豐富,具體如圖示。 4、這裡我們將PPT的文字素材準備好,然

ThinkPHP是一款受歡迎的PHP開發框架,具有靈活、高效、易用等特點,並廣泛應用於Web應用程式的開發中。在長期的開發實務中,我總結了一些提升開發效率的技巧,以下將分享給大家。一、充分利用ThinkPHP的核心功能ThinkPHP提供了眾多強大的核心功能,如模型、視圖、控制器等,我們需要充分利用這些功能來簡化開發流程。首先,要正確使用MVC設計模式,將業務

CSS中margin屬性總結CSS中的margin屬性用來設定元素的外邊距,它可以控制元素與周圍元素之間的間距。本文將對margin屬性進行總結,並提供一些具體的程式碼範例供參考。 margin屬性有四個值,分別表示元素上、右、下、左的外邊距。可以使用以下幾種方式來設定margin值:單一值:設定所有方向的外邊距都相等。例如:.margin{margin:

百度AI介面在Java開發中的應用案例解析與總結隨著人工智慧技術的不斷發展與應用,百度AI介面作為其中的一員,被廣泛應用於各行各業。本文將對百度AI介面在Java開發中的應用案例進行解析與總結,透過程式碼範例來說明其具體的應用方式與效果。一、百度AI介面概述百度AI介面是基於百度的人工智慧技術,透過API呼叫的方式提供給開發者使用的一套服務。它包含了豐富的功能

MySQL儲存引擎的總結與比較:哪個適合你的業務需求?引言:MySQL是一種廣泛使用的關聯式資料庫管理系統,而儲存引擎則是MySQL用於儲存和管理資料的關鍵模組。 MySQL提供了多種儲存引擎,每種引擎都有自己的功能和適用場景。本文將對MySQL常用的儲存引擎進行總結與對比,並提供相應的業務需求建議。一、InnoDB引擎InnoDB是MySQL的預設儲存引擎
