mybatis批量update時報錯multi-statement not allow的問題
更新時間:2023年10月12日 09:04:01 作者:不會程序的JAVA程序媛
這篇文章主要介紹了mybatis批量update時報錯multi-statement not allow的問題及解決方案,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
原因
mysql默認不支持批量更新
Druid的multiStatementAllow默認是false
解決方案
方法一
修改application配置
- spring.datasource.url 后面加上 &allowMultiQueries=true
- 如果配置了druid 注釋掉
filters: wall
,加上 - filter:
- wall:
- config:
- multi-statement-allow: true
- none-base-statement-allow: true
參考如下
spring: #mysql datasource: url: jdbc:xxx&serverTimezone=Asia/Shanghai&rewriteBatchedStatements=true&allowMultiQueries=true username: xxx password: xxx driver-class-name: com.mysql.cj.jdbc.Driver type: com.alibaba.druid.pool.DruidDataSource #druid druid: # filters: wall filter: wall: config: multi-statement-allow: true none-base-statement-allow: true
方法二
添加一個DruidConfig類
package com.song.config; import com.alibaba.druid.filter.Filter; import com.alibaba.druid.pool.DruidDataSource; import com.alibaba.druid.wall.WallConfig; import com.alibaba.druid.wall.WallFilter; import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import javax.sql.DataSource; import java.util.ArrayList; import java.util.List; /** * @author anatre * @date 2020.06.04 */ @Configuration public class DruidConfig { @Bean @ConfigurationProperties (prefix="spring.datasource") public DataSource druidPrimary(){ DruidDataSource druidDataSource = new DruidDataSource(); List<Filter> filterList = new ArrayList<> (); filterList.add(wallFilter()); druidDataSource.setProxyFilters(filterList); return new DruidDataSource(); } @Bean public WallFilter wallFilter(){ WallFilter wallFilter = new WallFilter(); wallFilter.setConfig(wallConfig()); return wallFilter; } @Bean public WallConfig wallConfig() { WallConfig config = new WallConfig(); //允許一次執(zhí)行多條語句 config.setMultiStatementAllow(true); config.setNoneBaseStatementAllow(true); return config; } }
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
實例化JFileChooser對象報空指針異常問題的解決辦法
今天小編就為大家分享一篇關于實例化JFileChooser對象報空指針異常問題的解決辦法,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧2019-02-02Kotlin?標準函數(shù)和靜態(tài)方法示例詳解
這篇文章主要為大家介紹了Kotlin?標準函數(shù)和靜態(tài)方法示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-10-10Java Web基于Session的登錄實現(xiàn)方法
這篇文章主要介紹了Java Web基于Session的登錄實現(xiàn)方法,涉及Java針對session的操作及表單提交與驗證技巧,具有一定參考借鑒價值,需要的朋友可以參考下2015-10-10jenkins+maven+svn自動部署和發(fā)布的詳細圖文教程
Jenkins是一個開源的、可擴展的持續(xù)集成、交付、部署的基于web界面的平臺。這篇文章主要介紹了jenkins+maven+svn自動部署和發(fā)布的詳細圖文教程,需要的朋友可以參考下2020-09-09