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

MyBatis批量更新(update foreach)報錯問題

 更新時間:2024年08月19日 10:38:02   作者:MinggeQingchun  
這篇文章主要介紹了MyBatis批量更新(update foreach)報錯問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教

MyBatis批量更新報錯解決

在使用mybatis執(zhí)行批量更新(update foreach)數(shù)據(jù)的時候

報錯如下:

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:

剛開始一直以為是自己SQL寫錯了,但是檢查N遍,發(fā)現(xiàn)也沒問題,而且到Navicat中執(zhí)行也沒說SQL報錯,

批量更新SQL如下:

 <!--批量更新報表 -->
 <update id="updateBatchUser" parameterType="java.util.List">
  <foreach collection="userList" item="item" index="index" separator=";">
   update sys_user
   <set>
    <if test="item.userName != null and item.userName!= ''">user_name = #{item.userName}, </if>
    <if test="item.userNo != null">user_no = #{item.userNo }, </if>
    ...
    updated_time = now()
   </set>
   where id = #{item.id} 
  </foreach>
 </update>

解決方案

MySQL的批量更新是要我們主動去設(shè)置的

使用mybatis進行批量插入與更新時

必須在配置連接url時加上 &allowMultiQueries=true 即可

jdbc:mysql://xx:3306/test?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useSSL=false&rewriteBatchedStatements=true&allowMultiQueries=true

總結(jié)

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • SpringBoot使用MockMvc測試get和post接口的示例代碼

    SpringBoot使用MockMvc測試get和post接口的示例代碼

    Spring Boot MockMvc是一個用于單元測試的模塊,它是Spring框架的一部分,專注于簡化Web應(yīng)用程序的測試,MockMvc主要用來模擬一個完整的HTTP請求-響應(yīng)生命周期,本文給大家介紹了SpringBoot使用MockMvc測試get和post接口,需要的朋友可以參考下
    2024-06-06
  • SpringBoot使用bat腳本啟動服務(wù)的代碼步驟

    SpringBoot使用bat腳本啟動服務(wù)的代碼步驟

    在SpringBoot開發(fā)部署jar包時,可能需要配置大量的運行時環(huán)境,比如數(shù)據(jù)庫,JDK等,這時你可能會想到Docker部署服務(wù),但假如甲方就是想【一鍵啟動】服務(wù),應(yīng)該怎么辦呢?本篇文章就是記錄自己編寫bat(或.sh)腳本快速的實現(xiàn)SpringBoot的啟動,需要的朋友可以參考下
    2025-10-10
  • Java/Android 獲取網(wǎng)絡(luò)重定向文件的真實URL的示例代碼

    Java/Android 獲取網(wǎng)絡(luò)重定向文件的真實URL的示例代碼

    本篇文章主要介紹了Java/Android 獲取網(wǎng)絡(luò)重定向文件的真實URL的示例代碼,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-11-11
  • Java對象數(shù)組的添加、刪除和遍歷代碼示例

    Java對象數(shù)組的添加、刪除和遍歷代碼示例

    在Java編程中,我們經(jīng)常需要對數(shù)據(jù)結(jié)構(gòu)進行遍歷操作,并根據(jù)業(yè)務(wù)需求刪除部分元素,這篇文章主要給大家介紹了關(guān)于Java對象數(shù)組的添加、刪除和遍歷的相關(guān)資料,需要的朋友可以參考下
    2024-04-04
  • mybatis模糊查詢之bind標簽和concat函數(shù)用法詳解

    mybatis模糊查詢之bind標簽和concat函數(shù)用法詳解

    大家都知道bind 標簽可以使用 OGNL 表達式創(chuàng)建一個變量井將其綁定到上下文中,接下來通過本文給大家介紹了mybatis模糊查詢——bind標簽和concat函數(shù)用法,需要的朋友可以參考下
    2022-08-08
  • 記錄jdk21連接SQLServer因為TLS協(xié)議報錯問題

    記錄jdk21連接SQLServer因為TLS協(xié)議報錯問題

    在使用Druid連接池連接SQL Server時,可能會遇到因TLS版本不匹配導致的連接失敗問題,具體表現(xiàn)為客戶端使用TLS1.3或TLS1.2,而SQL Server僅支持TLS1.0,導致無法建立安全連接,解決方法是修改JDK的安全配置,啟用TLS1.0
    2024-10-10
  • IDEA切換JDK版本詳細教程(超管用)

    IDEA切換JDK版本詳細教程(超管用)

    在我們項目開發(fā)的過程中可能會遇到JDK版本過高或者過低導致一些程序無法啟動,不兼容的問題,所以我們需要切換JDK的版本號,這篇文章主要給大家介紹了關(guān)于IDEA切換JDK版本的相關(guān)資料,需要的朋友可以參考下
    2023-10-10
  • struts2通過action返回json對象

    struts2通過action返回json對象

    struts2通過action返回json對象其實很簡單的,首先我們需要引入jar包,然后在寫一個簡單的action就好了,接下來通過本文給大家介紹struts2通過action返回json對象的方法,感興趣的朋友一起看看吧
    2016-09-09
  • Spring中的ImportBeanDefinitionRegistrar接口詳解

    Spring中的ImportBeanDefinitionRegistrar接口詳解

    這篇文章主要介紹了Spring中的ImportBeanDefinitionRegistrar接口詳解,ImportBeanDefinitionRegistrar接口是也是spring的擴展點之一,它可以支持我們自己寫的代碼封裝成BeanDefinition對象,注冊到Spring容器中,功能類似于注解@Service @Component,需要的朋友可以參考下
    2023-09-09
  • 詳解SpringBoot之添加單元測試

    詳解SpringBoot之添加單元測試

    本篇文章主要介紹了詳解SpringBoot之添加單元測試,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-07-07

最新評論

鱼台县| 二连浩特市| 日照市| 凤庆县| 河源市| 区。| 舒城县| 花垣县| 万宁市| 西畴县| 德令哈市| 开原市| 高安市| 江油市| 吉首市| 伊金霍洛旗| 定安县| 仙居县| 根河市| 平遥县| 自治县| 阿坝县| 浮梁县| 太仆寺旗| 保山市| 西充县| 凤台县| 广南县| 凌源市| 桂林市| 基隆市| 铅山县| 五指山市| 肇东市| 方城县| 阿瓦提县| 沅陵县| 上林县| 蒲城县| 闻喜县| 镇江市|