SpringBoot+Mybatis+Druid批量更新multi-statement not allow异常

Mybatis集成Druid批量更新时,出现异常

Error updating database.  Cause: java.sql.SQLException: sql injection violation, multi-statement not allow : 

经查询,Druid的multiStatementAllow默认是false,需要开启,设置成true。

注:filters和proxyFilters两个不要同时配置。

1.开始这样配置的, multiStatementAllow属性设置成true一直不生效。

(1)yml文件中

# 配置监控统计拦截的filters,去掉后监控界面sql无法统计,'wall'用于防火墙
    filters: stat,wall

(2)设置数据源

SpringBoot+Mybatis+Druid批量更新multi-statement not allow异常_第1张图片

2.修改yml文件,删除filters中的wall拦截器生效。

# 配置监控统计拦截的filters,去掉后监控界面sql无法统计,'wall'用于防火墙
    filters: stat

此种配置亲测有效。这样方式可能不是最好的配置,欢迎评论指正。

你可能感兴趣的:(Java)