最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時間:2020年11月30日 10:44:28   作者:蘇城碼  
這篇文章主要介紹了解決mybatis批量更新(update foreach)失敗的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

如下所示:

 <!--批量更新報表 -->
 <update id="updateIssueByBatch" 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

問題描述:

上網(wǎng)查詢說是 配置mysql的時候沒有開啟批量插入,就查詢了項目 是否 配置了 allowMultiQueries=true ,發(fā)現(xiàn)本地和線上都配置了該語句,問題沒出在這。那么問題出在哪呢?后來發(fā)現(xiàn)是由于線上將 & 變成了 &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

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

在項目開發(fā)過程中,結(jié)合業(yè)務(wù)場景,需要對某個表進(jìn)行批量更新,完成所有的業(yè)務(wù)代碼和Mybatis XML文件后,單元測試時,發(fā)現(xiàn)調(diào)用批量更新只有一條記錄時,執(zhí)行成功,傳入多條記錄,進(jìn)行批量更新時,則提示失敗,錯誤信息如下:

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映射批量更新的結(jié)構(gòu)如下:

<!-- 批量更新 -->
 <update id="batchUpdate" 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>

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

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

經(jīng)測試,完美解決此問題。

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

相關(guān)文章

  • java中為什么要謹(jǐn)慎使用Arrays.asList、ArrayList的subList

    java中為什么要謹(jǐn)慎使用Arrays.asList、ArrayList的subList

    這篇文章主要介紹了java中為什么要謹(jǐn)慎使用Arrays.asList、ArrayList的subList,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-02-02
  • idea2020中復(fù)制一個微服務(wù)實例的方法

    idea2020中復(fù)制一個微服務(wù)實例的方法

    這篇文章主要介紹了idea2020中復(fù)制一個微服務(wù)實例的方法,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-09-09
  • spring多個事務(wù)管理器踩坑及解決

    spring多個事務(wù)管理器踩坑及解決

    這篇文章主要介紹了spring多個事務(wù)管理器踩坑及解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-11-11
  • 解決mac最新版intellij idea崩潰閃退crash的問題

    解決mac最新版intellij idea崩潰閃退crash的問題

    這篇文章主要介紹了解決mac最新版intellij idea崩潰閃退crash的問題,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-09-09
  • 簡單了解Spring中常用工具類

    簡單了解Spring中常用工具類

    這篇文章主要介紹了簡單了解Spring中常用工具類,非常全面,具有一定參考價值,需要的朋友可以了解下。
    2017-10-10
  • Java中不得不知的Collection接口與Iterator迭代器

    Java中不得不知的Collection接口與Iterator迭代器

    這篇文章主要介紹了Java中的Collection接口與Iterator迭代器,文中有詳細(xì)的代碼示例供大家參考,對我們的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下
    2023-06-06
  • Java集合Map常見問題_動力節(jié)點Java學(xué)院整理

    Java集合Map常見問題_動力節(jié)點Java學(xué)院整理

    這篇文章主要為大家詳細(xì)整理了Java集合Map常見問題,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-05-05
  • Spring?Boot?3?整合?MinIO?實現(xiàn)分布式文件存儲的全過程

    Spring?Boot?3?整合?MinIO?實現(xiàn)分布式文件存儲的全過程

    本文介紹了如何使用SpringBoot3和MinIO實現(xiàn)分布式文件存儲,通過MinIO的分布式對象存儲系統(tǒng),可以解決傳統(tǒng)單機(jī)文件存儲方案在面對大規(guī)模數(shù)據(jù)和高并發(fā)訪問時的不足,文章詳細(xì)講解了MinIO的安裝、配置和使用,感興趣的朋友一起看看吧
    2025-03-03
  • 淺談Maven resrouce下filtering作用

    淺談Maven resrouce下filtering作用

    Filtering是Maven Resources Plugin的一個功能,本文主要介紹了淺談Maven resrouce下filtering作用,具有一定的參考價值,感興趣的可以了解一下
    2024-03-03
  • 圖文詳解java反射機(jī)制及常用應(yīng)用場景

    圖文詳解java反射機(jī)制及常用應(yīng)用場景

    這篇文章主要為大家介紹了圖文詳解java反射機(jī)制及常用應(yīng)用場景,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-03-03

最新評論

长顺县| 桑日县| 宜宾县| 龙里县| 景宁| 钦州市| 图木舒克市| 吐鲁番市| 惠来县| 宕昌县| 上高县| 石狮市| 乐清市| 东乌珠穆沁旗| 贵定县| 丹凤县| 沧源| 普定县| 枝江市| 南通市| 内丘县| 罗甸县| 红安县| 原平市| 武强县| 边坝县| 丹江口市| 阳新县| 天气| 昌乐县| 兴仁县| 中牟县| 安康市| 九江县| 芦山县| 军事| 无为县| 赫章县| 林芝县| 司法| 农安县|