在DataSource 初始化Bean 添加

List<Filter> proxyFilters = new ArrayList<Filter>();WallFilter statFilter = new WallFilter();WallConfig config = new WallConfig();config.setMultiStatementAllow(true); // 批量操作statFilter.setConfig(config);proxyFilters.add(statFilter);druidDataSource.setProxyFilters(proxyFilters);

贴上自己的Config

package com.wstro.config;import java.sql.SQLException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;import javax.sql.DataSource;import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.web.servlet.FilterRegistrationBean;
import org.springframework.boot.web.servlet.ServletRegistrationBean;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Primary;
import org.springframework.transaction.annotation.EnableTransactionManagement;import com.alibaba.druid.filter.Filter;
import com.alibaba.druid.pool.DruidDataSource;
import com.alibaba.druid.support.http.StatViewServlet;
import com.alibaba.druid.support.http.WebStatFilter;
import com.alibaba.druid.wall.WallConfig;
import com.alibaba.druid.wall.WallFilter;/*** Druid数据源配置* * @author Joey* @Email 2434387555@qq.com**/
@Configuration
@EnableTransactionManagement // 启注解事务管理
public class DataSourceConfig {private Logger logger = LoggerFactory.getLogger(DataSourceConfig.class);@Value("${spring.datasource.url}")private String dbUrl;@Value("${spring.datasource.username}")private String username;@Value("${spring.datasource.password}")private String password;@Value("${spring.datasource.driverClassName}")private String driverClassName;@Value("${spring.datasource.initialSize}")private int initialSize;@Value("${spring.datasource.minIdle}")private int minIdle;@Value("${spring.datasource.maxActive}")private int maxActive;@Value("${spring.datasource.maxWait}")private int maxWait;@Value("${spring.datasource.timeBetweenEvictionRunsMillis}")private int timeBetweenEvictionRunsMillis;@Value("${spring.datasource.minEvictableIdleTimeMillis}")private int minEvictableIdleTimeMillis;@Value("${spring.datasource.validationQuery}")private String validationQuery;@Value("${spring.datasource.testWhileIdle}")private boolean testWhileIdle;@Value("${spring.datasource.testOnBorrow}")private boolean testOnBorrow;@Value("${spring.datasource.testOnReturn}")private boolean testOnReturn;@Value("${spring.datasource.poolPreparedStatements}")private boolean poolPreparedStatements;@Value("${spring.datasource.maxPoolPreparedStatementPerConnectionSize}")private int maxPoolPreparedStatementPerConnectionSize;@Value("${spring.datasource.filters}")private String filters;@Value("${spring.datasource.connectionProperties}")private String connectionProperties;/*** 注册DruidServlet* * @return ServletRegistrationBean*/@Beanpublic ServletRegistrationBean druidServletRegistrationBean() {ServletRegistrationBean servletRegistrationBean = new ServletRegistrationBean();servletRegistrationBean.setServlet(new StatViewServlet());servletRegistrationBean.addUrlMappings("/druid/*");// 白名单:servletRegistrationBean.addInitParameter("allow", "127.0.0.1");// IP黑名单 (存在共同时,deny优先于allow) : 如果满足deny的话提示:Sorry, you are not// permitted to view this page.// 登录查看信息的账号密码.servletRegistrationBean.addInitParameter("loginUsername", "joey");servletRegistrationBean.addInitParameter("loginPassword", "jay");// 是否能够重置数据.servletRegistrationBean.addInitParameter("resetEnable", "false");return servletRegistrationBean;}/*** 注册DruidFilter拦截* * @return FilterRegistrationBean*/@Beanpublic FilterRegistrationBean druidFilterRegistrationBean() {FilterRegistrationBean filterRegistrationBean = new FilterRegistrationBean();filterRegistrationBean.setFilter(new WebStatFilter());Map<String, String> initParams = new HashMap<String, String>();// 设置忽略请求initParams.put("exclusions", "*.js,*.gif,*.jpg,*.bmp,*.png,*.css,*.ico,/druid/*");filterRegistrationBean.setInitParameters(initParams);filterRegistrationBean.addUrlPatterns("/*");return filterRegistrationBean;}/*** 配置DataSource* * @return DataSource* @throws SQLException*/@Bean(initMethod = "init", destroyMethod = "close")@Primarypublic DataSource dataSource() throws SQLException {DruidDataSource druidDataSource = new DruidDataSource();druidDataSource.setUrl(dbUrl);druidDataSource.setUsername(username);druidDataSource.setPassword(password);druidDataSource.setDriverClassName(driverClassName);// configurationdruidDataSource.setInitialSize(initialSize);druidDataSource.setMinIdle(minIdle);druidDataSource.setMaxActive(maxActive);druidDataSource.setMaxWait(maxWait);druidDataSource.setTimeBetweenEvictionRunsMillis(timeBetweenEvictionRunsMillis);druidDataSource.setMinEvictableIdleTimeMillis(minEvictableIdleTimeMillis);druidDataSource.setValidationQuery(validationQuery);druidDataSource.setTestWhileIdle(testWhileIdle);druidDataSource.setTestOnBorrow(testOnBorrow);druidDataSource.setTestOnReturn(testOnReturn);druidDataSource.setPoolPreparedStatements(poolPreparedStatements);druidDataSource.setMaxPoolPreparedStatementPerConnectionSize(maxPoolPreparedStatementPerConnectionSize);try {List<Filter> proxyFilters = new ArrayList<Filter>();WallFilter statFilter = new WallFilter();WallConfig config = new WallConfig();config.setMultiStatementAllow(true); // 批量操作statFilter.setConfig(config);proxyFilters.add(statFilter);druidDataSource.setProxyFilters(proxyFilters);druidDataSource.setFilters(filters);} catch (SQLException e) {logger.error("druid configuration initialization filter", e);}druidDataSource.setConnectionProperties(connectionProperties);return druidDataSource;}}

properties

#JDBC
# \u6570\u636E\u5E93\u8BBF\u95EE\u914D\u7F6E
# \u4E3B\u6570\u636E\u6E90\uFF0C\u9ED8\u8BA4\u7684
spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
spring.datasource.driverClassName=com.mysql.jdbc.Driver
spring.datasource.url=jdbc:mysql://192.168.1.88:3306/wstro?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8
spring.datasource.username=root
spring.datasource.password=root# \u4E0B\u9762\u4E3A\u8FDE\u63A5\u6C60\u7684\u8865\u5145\u8BBE\u7F6E\uFF0C\u5E94\u7528\u5230\u4E0A\u9762\u6240\u6709\u6570\u636E\u6E90\u4E2D
# \u521D\u59CB\u5316\u5927\u5C0F\uFF0C\u6700\u5C0F\uFF0C\u6700\u5927
spring.datasource.initialSize=5
spring.datasource.minIdle=5
spring.datasource.maxActive=20# \u914D\u7F6E\u83B7\u53D6\u8FDE\u63A5\u7B49\u5F85\u8D85\u65F6\u7684\u65F6\u95F4
spring.datasource.maxWait=60000# \u914D\u7F6E\u95F4\u9694\u591A\u4E45\u624D\u8FDB\u884C\u4E00\u6B21\u68C0\u6D4B\uFF0C\u68C0\u6D4B\u9700\u8981\u5173\u95ED\u7684\u7A7A\u95F2\u8FDE\u63A5\uFF0C\u5355\u4F4D\u662F\u6BEB\u79D2
spring.datasource.timeBetweenEvictionRunsMillis=60000# \u914D\u7F6E\u4E00\u4E2A\u8FDE\u63A5\u5728\u6C60\u4E2D\u6700\u5C0F\u751F\u5B58\u7684\u65F6\u95F4\uFF0C\u5355\u4F4D\u662F\u6BEB\u79D2
spring.datasource.minEvictableIdleTimeMillis=300000
spring.datasource.validationQuery=SELECT 1 FROM DUAL
spring.datasource.testWhileIdle=true
spring.datasource.testOnBorrow=false
spring.datasource.testOnReturn=false# \u6253\u5F00PSCache\uFF0C\u5E76\u4E14\u6307\u5B9A\u6BCF\u4E2A\u8FDE\u63A5\u4E0APSCache\u7684\u5927\u5C0F
spring.datasource.poolPreparedStatements=true
spring.datasource.maxPoolPreparedStatementPerConnectionSize=20# \u914D\u7F6E\u76D1\u63A7\u7EDF\u8BA1\u62E6\u622A\u7684filters\uFF0C\u53BB\u6389\u540E\u76D1\u63A7\u754C\u9762sql\u65E0\u6CD5\u7EDF\u8BA1\uFF0C'wall'\u7528\u4E8E\u9632\u706B\u5899
spring.datasource.filters=stat,wall,log4j# \u901A\u8FC7connectProperties\u5C5E\u6027\u6765\u6253\u5F00mergeSql\u529F\u80FD\uFF1B\u6162SQL\u8BB0\u5F55
spring.datasource.connectionProperties=druid.stat.mergeSql=true;druid.stat.slowSqlMillis=5000;druid.stat.logSlowSql=true;# \u5408\u5E76\u591A\u4E2ADruidDataSource\u7684\u76D1\u63A7\u6570\u636E
#spring.datasource.useGlobalDataSourceStat=true

转载于:https://www.cnblogs.com/zhousiwei/p/10625776.html

SpringBoot集成Druid不支持多条SQL相关推荐

  1. SpringBoot集成Druid和数据库密码加密

    Druid是阿里开发的数据库连接池,通过简单的配置,可以实现数据库的连接,性能特别强大,可以在页面访问,包括监控数据库性能参数,慢SQL统计,当然还包括数据库连接等. 今天主要记录一下SpringBo ...

  2. springboot集成druid监控

    springboot集成druid监控 引入pom依赖 <!-- druid数据库连接池 --> <dependency><groupId>com.alibaba& ...

  3. SpringBoot 集成 druid 监控数据库报错 Failed to bind properties under ‘xxxx‘ to javax.sql.DataSource 解决(含配置源码)

    What Druid是一个JDBC组件,它包括三部分: • DruidDriver 代理Driver,能够提供基于Filter-Chain模式的插件体系. • DruidDataSource 高效可管 ...

  4. springboot集成druid,sql监控无效果,解决方案

    项目中引入的依赖: 问题分析: 1.配置文件中的druid的配置参数信息格式是否有错误,如下,是否全都是spring.datasource.* 如果格式有错误,那么 new DruidDataSour ...

  5. SpringBoot集成Druid

    maven <dependency><groupId>com.alibaba</groupId><artifactId>druid-spring-boo ...

  6. springboot集成beetlsql支持多数据源源码

    之前写过beetlsql的使用,有人留言要源码,本篇把springboot集成beetlsql的多数据源码列出.前文如下: springboot集成beetlsql以及支持多数据源_wuyang199 ...

  7. SpringBoot 集成接口文档,老鸟们也被打脸了!

    之前我在SpringBoot老鸟系列中专门花了大量的篇幅详细介绍如何集成Swagger,以及如何对Swagger进行扩展让其支持接口参数分组功能.详情可见:SpringBoot 如何生成接口文档,老鸟 ...

  8. SpringBoot集成Mybatis-Plus、Druid(SQL监控)

    1.创建springboot项目,先实现mybatis-plus.druid 2.pom文件引入 <dependency><groupId>org.springframewor ...

  9. SpringBoot入门教程(十五)集成Druid

    Druid是阿里巴巴开源平台上一个数据库连接池实现,它结合了C3P0.DBCP.PROXOOL等DB池的优点,同时加入了日志监控,可以很好的监控DB池连接和SQL的执行情况,可以说是针对监控而生的DB ...

最新文章

  1. 如何选择真正的万兆防火墙?
  2. [C#]统计文本文件txt中的行数(快速读取)
  3. python打开word并在前台显示_Python自动化办公之Word,全网最全看这一篇就够了
  4. Java 接口语法_JAVA接口的基本语法
  5. JAVA——获取classpath文件路径空格转变成了转义字符(%20)的问题解决方案
  6. 出国?上研?工作?回家种田?(二) 专业与上研相关问题
  7. nginx正确服务react-router应用
  8. 关于一致性hash算法的几个问题
  9. 代码好味道、坏味道与重构
  10. PHP报错Warning: Unknown: Input variables exceeded 1000
  11. [Openstack] 使用heat模板创建stack
  12. 【算法专题】链表排序算法总结
  13. dns污染怎么快速清除解决
  14. NameError: name 'raw_input' is not defined
  15. 山西省2022年中级职称(工程师)评定条件及要求
  16. 怎么查哪些期刊是核心,哪些不是,EI有哪些等等问题
  17. 劝人自杀情绪多变,人工智能真不是个“东西”
  18. MMORPG网络游戏开发之Protobuf的基本使用
  19. 制作yocto的recipe的补丁的方法
  20. JsBarcode:JS条形码生成

热门文章

  1. zabbix查看mysql同步_Zabbix 检测Mysql数据库的主从同步
  2. run()方法和start()方法测试解析
  3. ThreadPoolTaskExecutor和ThreadPoolExecutor区别
  4. 最难学编程语言排汗榜
  5. Linux文件分割命令split笔记
  6. JAVA输出x和y和z_JAVA实例:输入三个整数x,y,z,请把这三个数由小到大输出-吾爱编程网...
  7. java pem,如何验证Java中的PEM格式证书
  8. 成立出版社的条件_创始人亲述:法国鸿飞文化出版社的诞生故事和做书心得
  9. windows中安装zookeeper
  10. 设计模式 之 抽象工厂模式