午夜剧场伦理_日本一道高清_国产又黄又硬_91黄色网战_女同久久另类69精品国产_妹妹的朋友在线

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

解決mybatis批量更新(update foreach)失敗的問題

瀏覽:306日期:2023-10-21 10:25:20

如下所示:

<!--批量更新報表 --> <update parameterType='java.util.List'> <foreach collection='issueList' item='item' index='index' separator=';'> update sys_issue <set> <if test='item.first != null and item.first != ’’'>first_class = #{item.first}, </if> <if test='item.second != null and item.second != ’’'>second_class = #{item.second}, </if> updated_time = now() </set> where id = #{item.Id} </foreach> </update>

報錯如下:

The error occurred while setting parameters

問題描述:

上網查詢說是 配置mysql的時候沒有開啟批量插入,就查詢了項目 是否 配置了 allowMultiQueries=true ,發現本地和線上都配置了該語句,問題沒出在這。那么問題出在哪呢?后來發現是由于線上將 & 變成了 &amp; 造成的。

* 前后對比如下:*

修改前:

jdbc.url=jdbc:mysql://XXX/abc?useUnicode=true&zeroDateTimeBehavior=convertToNull&amp;allowMultiQueries=true

修改后:

jdbc.url=jdbc:mysql://XXX/abc?useUnicode=true&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true

補充知識:Mybatis 批量更新失敗,單條成功

在項目開發過程中,結合業務場景,需要對某個表進行批量更新,完成所有的業務代碼和Mybatis XML文件后,單元測試時,發現調用批量更新只有一條記錄時,執行成功,傳入多條記錄,進行批量更新時,則提示失敗,錯誤信息如下:

org.springframework.jdbc.BadSqlGrammarException:### Error updating database. Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ’......### The error may involve .... ### The error occurred while setting parameters ### SQL:

其中XML映射批量更新的結構如下:

<!-- 批量更新 --> <update parameterType='java.util.List'> <foreach collection='list' item='item' separator=';'> update xxxxxx <set> <if test='item.xxx!= null'> xxx= #{item.xxx,jdbcType=BIGINT}, </if>...... </set> where id =#{item.id} </foreach> </update>

經過代碼排查,以及批量update語句通過SQL工具直接執行均能成功,排除代碼和sql語句問題,最后求助Google大神,發現使用mybatis進行批量插入與更新時,必須在配置連接url時指定allowMultiQueries=true

mysql.db.url=jdbc:mysql://127.0.0.1:3306/test?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull&&allowMultiQueries=true

經測試,完美解決此問題。

以上這篇解決mybatis批量更新(update foreach)失敗的問題就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持好吧啦網。

標簽: Mybatis 數據庫
相關文章:
主站蜘蛛池模板: 国产 日韩 欧美 综合 | 麻豆av网| 久久最新免费视频 | 国产高清成人 | 黄色免费在线观看视频 | 日韩欧美成 | 欧美午夜在线 | 秋霞黄色网 | 永久av免费网站 | 色91视频 | 手机看片亚洲 | 免费一级特黄 | 狠狠躁夜夜躁人人爽天天高潮 | 国产精品国产精品国产 | 亚洲免费在线播放 | 亚洲一区二区影院 | 国产亚洲二区 | 欧美亚洲大片 | 亚洲免费精品 | 91国产丝袜在线播放 | av网页在线观看 | 国产日韩欧美在线观看视频 | 欧美激情影音先锋 | 爱爱视频在线播放 | 毛片直接看 | 免费黄色在线 | 亚洲一区av| 亚洲少妇激情 | 国产老头老太做爰视频 | 国产视频第一页 | 蜜桃精品视频在线 | 国产精品一二三四区 | 亚洲欧美另类在线观看 | 亚洲国产专区 | 午夜伦理网 | 欧美综合在线观看 | 国产精品成人一区二区三区 | 91精品网 | 国产福利91精品一区二区三区 | 99久久久精品免费观看国产 | 精品久草 |