Mybatis批量更新SQL報錯☞解決辦法
批量更新語句(XML對映)如下:
<!--批量更新使用者表資料-->
<update id ="updateBatch" parameterType="java.util.List">
<foreach collection ="users" item="user" index= "index" close=";" separator =";">
update user
<set>
name = #{user.name}
</set>
<where>
id =#{user.id}
</where>
</foreach>
</update>
Insomnia測試介面【測了兩條資料】,結果報錯:
後臺檢視異常資訊如下:
更奇怪的是,批量操作一條資料是OK的:
哪裡有問題呢?
原來,Mybatis對映檔案中的sql語句預設是不支援以" ; " 結尾的,也就是不支援多條sql語句的執行
但是在SQL編輯器中執行多條sql語句的時候是可以以分號結尾的,如:
解決辦法:
在application.properties配置文中的資料來源url後面新增一個引數
&allowMultiQueries=true 【允許sql語句中有多個insert或者update語句 == 支援sql批量操作】
原來的:
#注意SpringBoot2.0 這裡的資料來源url是: jdbc-url 而不是 url
spring.datasource.jdbc-url=jdbc\:mysql\://localhost\:3306/slave?useUnicode\=true&autoReconnect=true&useSSL=false&characterEncoding\=utf-8&useSSL=true
現在的:
#注意SpringBoot2.0 這裡的資料來源url是: jdbc-url 而不是 url
spring.datasource.jdbc-url=jdbc\:mysql\://localhost\:3306/slave?useUnicode\=true&autoReconnect=true&useSSL=false&characterEncoding\=utf-8&useSSL=true&allowMultiQueries=true
重啟專案後,測試:
相關文章
- cnpm link 報錯解決辦法NPM
- mybatis報錯解決MyBatis
- git報錯400的解決辦法Git
- mybatis update並非所有欄位需要更新的解決辦法MyBatis
- msfconsole,OpenSSL::PKey::PKeyError報錯解決辦法Error
- kali更新源數字簽名錯誤解決辦法
- mybatis 批量新增insert、更新update詳解MyBatis
- Jsp Unescaped xml character報錯的解決辦法JSXML
- VScode 更新失敗解決辦法VSCode
- eclipse :報錯 ‘XXXX‘ does not name a type的解決辦法Eclipse
- Laravel Mix - 執行 NPM install 報錯解決辦法LaravelNPM
- 批量更新時無法觸發事件的解決方法事件
- Docker Hello World容器執行報錯的解決辦法Docker
- vue報錯:the template root disallows ‘v-for‘ directives解決辦法Vue
- 關於npm install安裝報錯的解決辦法NPM
- npm報錯"A complete log of this run can be found in:"的解決辦法NPM
- 關於Chrome報錯 ERR_NAME_NOT_RESOLVED 解決辦法Chrome
- 報錯:net::err_unknown_url_scheme的解決辦法Scheme
- Mybatis批量更新三種方式MyBatis
- Ubuntu 報錯:無法獲得鎖 /var/lib/dpkg/lock解決辦法Ubuntu
- Homestead 在 Windows 下軟連結報錯的解決辦法Windows
- pod install 和 rvm install ruby-xxxx報錯解決辦法
- Maven下載jar包慢,pom報錯的解決辦法MavenJAR
- MySQL5.7 group by新特性報錯1055的解決辦法MySql
- SVN報錯“Failed to run the WC DB work queue associated with”解決辦法AI
- Python-安裝部分包報錯解決辦法彙總Python
- 畢設之錯誤解決辦法
- Idea編譯錯誤解決辦法Idea編譯
- vscode“檢測到 #include 錯誤,請更新 includepath。”的問題解決辦法VSCode
- Flutter url_launcher 報錯 canLaunch will return false(Android)的解決辦法FlutterFalseAndroid
- PyCharm啟動報錯:Failed to create JVM.解決辦法之一PyCharmAIJVM
- mac vscode 更新失敗:Permission denied解決辦法MacVSCode
- ubuntu下import matplotlib錯誤解決辦法UbuntuImport
- iTunes降級提示未能更新iPhone發生未知錯誤3194的解決辦法iPhone
- 132 SVN提交報錯"Commit blocked by pre-commit hook"的解決辦法MITBloCHook
- Homestead.yaml 修改後 Vagrant 重新載入報錯的解決辦法YAML
- 執行 PHP artisan migrate 時報長度錯誤的解決辦法?PHP
- pecel install swoole 報錯 ssl.h 找不到時的解決辦法