SpringBoot使用Mybatis执行多条SQL

更新时间:2023-06-22 07:09:15 阅读: 评论:0

SpringBoot使⽤Mybatis执⾏多条SQL
在SpringBoot中实现Mybatis执⾏多条SQL,先Google了⼀波,发现只需要在连接Mysql的url后⾯加上这个就可以了:allowMultiQueries=true
添加后的url是这样滴:自食其果
jdbc:mysql://...:3306/test?uUnicode=true&characterEncoding=gbk&zeroDateTimeBehavior=convertToNull&uSSL=true&autoReconnect=true&autoReco nnectForPools=true&allowMultiQueries=true
初中物理论文
然后就可以在l中执⾏多条SQL,但是我这⾥还是在报错:
Cau: java.sql.SQLException: sql injection violation, multi-statement not allow
继续Google,然后发现是druid的配置原因,当在application.properties⽂件中配置了wall filter后,
spring.datasource.filters=stat,wall,log4j
multiStatementAllow策略默认为fal,就不⽀持执⾏多条SQL,在检查时就会报错,这时需要⾃定义开启wall filter,代码如下:
/**
论语中的名言警句* 数据库连接池配置
* ⾃定义filter,设置MultiStatementAllow属性为true
*/
@Bean
狸尾草public DruidDataSource dataSource(){
DruidDataSource druidDataSource =new DruidDataSource();
唱拼音List filterList =new ArrayList();
震耳欲聋什么意思filterList.add(wallFilter());
druidDataSource.tProxyFilters(filterList);
入团申请书格式模板return druidDataSource;
}
@Bean
public WallFilter wallFilter(){
WallFilter wallFilter =new WallFilter();
wallFilter.tConfig(wallConfig());
return wallFilter;
}
@Bean
public WallConfig wallConfig(){
WallConfig config =new WallConfig();
config.tMultiStatementAllow(true);//允许⼀次执⾏多条语句
config.tNoneBaStatementAllow(true);//允许⾮基本语句的其他语句
return config;
}
同时去掉配置⽂件中的wall filter:
spring.datasource.filters=stat,log4j
衍化

本文发布于:2023-06-22 07:09:15,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/82/1011689.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:需要   配置   发现   语句   数据库
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图