场景
在项目中使用mybatis-plus,druid作为数据库连接池。项目中有需求,前端用户可以配置新建数据库表,所以项目中需要执行建表语句和创建索引的DDL
报错信息
java.sql.SQLException: sql injection violation, multi-statement not allow
解决方案
- 在jdbc连接信息url中添加参数 ?allowMultiQueries=true
- 去掉druid filters中的 wall。例:
spring.datasource.druid.filters=config,stat,slf4j
- 配置druid 过滤器 wall 的参数
spring.datasource.druid.filter.wall.config.multi-statement-allow=true