中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何解決mybatis批量更新出現SQL報錯問題

發布時間:2022-02-19 14:26:35 來源:億速云 閱讀:303 作者:小新 欄目:開發技術

這篇文章主要介紹如何解決mybatis批量更新出現SQL報錯問題,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!

一、問題重現

1.配置文件

spring:
  #DataSource數據源
  datasource:
    url: jdbc:mysql://127.0.0.1:3306/mybatis_test?useSSL=false&amp
    username: root
    password: root
    driver-class-name: com.mysql.jdbc.Driver

#MyBatis配置
mybatis:
  type-aliases-package: com.hl.mybatis.pojo #別名定義
  configuration:
    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl #指定 MyBatis 所用日志的具體實現,未指定時將自動查找
    map-underscore-to-camel-case: true #開啟自動駝峰命名規則(camel case)映射
    lazy-loading-enabled: true #開啟延時加載開關
    aggressive-lazy-loading: false #將積極加載改為消極加載(即按需加載),默認值就是false
    lazy-load-trigger-methods: "" #阻擋不相干的操作觸發,實現懶加載
    cache-enabled: true #打開全局緩存開關(二級環境),默認值就是true

2.sql

@Update({"<script>" +
            "<foreach item='item' collection='list' index='index' open='' close='' separator=';'>" +
            " UPDATE tb_user " +
            "<set>" +
            "<if test='item.userAccount != null'>user_account = #{item.userAccount},</if>" +
            "<if test='item.userPassword != null'>user_password=#{item.userPassword}</if>" +
            "</set>" +
            " WHERE user_id = #{item.userId} " +
            "</foreach>" +
            "</script>"})
    int updateBatch(@Param("list")List<UserInfo> userInfoList);

3.測試

查看控制臺錯誤

如何解決mybatis批量更新出現SQL報錯問題

發現這里告訴我有一個語法錯誤,然后發現user_id,有一個符號。>

這里經過測試更新一條是成功的

如何解決mybatis批量更新出現SQL報錯問題

二、問題分析

Mybatis映射文件中的sql語句默認是不支持以" ; " 結尾的,也就是不支持多條sql語句的執行

如何解決mybatis批量更新出現SQL報錯問題

但是在SQL編輯器中執行多條sql語句的時候是可以以分號結尾的,如:

如何解決mybatis批量更新出現SQL報錯問題

三、解決方法

在application.properties配置文中的數據源url后面添加一個參數

&allowMultiQueries=true【允許sql語句中有多個insert或者update語句 == 支持sql批量操作】

原來的配置文件:

url: jdbc:mysql://127.0.0.1:3306/mybatis_test?useSSL=false&amp

現在的配置文件

url: jdbc:mysql://127.0.0.1:3306/mybatis_test?useSSL=false&amp&&allowMultiQueries=true

再次測試

如何解決mybatis批量更新出現SQL報錯問題

以上是“如何解決mybatis批量更新出現SQL報錯問題”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

柘城县| 建平县| 凤城市| 房产| 格尔木市| 利辛县| 辽中县| 台南县| 达日县| 广东省| 长宁区| 桃园市| 富宁县| 鄱阳县| 深州市| 景洪市| 平和县| 丰都县| 凤台县| 丰台区| 卓资县| 奉化市| 乌拉特前旗| 琼中| 苗栗县| 四子王旗| 鸡东县| 斗六市| 洛扎县| 武宣县| 新巴尔虎左旗| 昌邑市| 余干县| 顺平县| 西安市| 南江县| 龙海市| 奉节县| 买车| 天台县| 钦州市|