springBoot 修改application配置文件中数据库连接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
第一种方法不行的话,就第二种
package com.cjwl.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;
/**
* \* User: 会吐水的杰尼龟
* \* Date: 2022/8/27 2:21 下午
* \* Description: 配置druid连接池,允许sql进行批量插入
* \
*/
@Configuration
public class DruidConfig {
//使用连接池dataSource
@Bean
@ConfigurationProperties(prefix = "spring.datasource")
public DataSource druidDataSource() {
DruidDataSource druidDataSource = new DruidDataSource();
List<Filter> filterList = new ArrayList<>();
filterList.add(wallFilter());
druidDataSource.setProxyFilters(filterList);
return druidDataSource;
}
@Bean
public WallFilter wallFilter() {
WallFilter wallFilter = new WallFilter();
wallFilter.setConfig(wallConfig());
return wallFilter;
}
@Bean
public WallConfig wallConfig() {
WallConfig config = new WallConfig();
config.setMultiStatementAllow(true);//允许一次执行多条语句
config.setNoneBaseStatementAllow(true);//允许非基本语句的其他语句
return config;
}
}