赞
踩
官方给出druid-spring-boot-starter
的版本已经是1.1.17。推荐引入最新的,解决了一些已知的问题。
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid-spring-boot-starter</artifactId>
<version>1.1.10</version>
</dependency>
需要注意的地方是mysql的驱动类在mysql8.0之后的路径改变了以及需要声明时区的问题。下面也标出了mysql版本驱动类的区别,同时也注明了MySql和Oracle在部分参数的区别。
## database ## spring.datasource.type=com.alibaba.druid.pool.DruidDataSource ## mysql-5.5.0 ## #spring.datasource.driver-class-name=com.mysql.jdbc.Driver #spring.datasource.url=jdbc:mysql://localhost:3306/test?characterEncoding=UTF-8 ## mysql-8.0.16 ## spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver spring.datasource.url=jdbc:mysql://localhost:3307/test?serverTimezone=UTC&characterEncoding=UTF-8 spring.datasource.username=xxxx spring.datasource.password=xxxx #申请连接时执行validationQuery检测连接是否有效,做了这个配置会降低性能。default=true spring.datasource.druid.test-on-borrow=false #建议配置为true,不影响性能,并且保证安全性。申请连接的时候检测,如果空闲时间大于timeBetweenEvictionRunsMillis,执行validationQuery检测连接是否有效。default=false spring.datasource.druid.test-while-idle=false #归还连接时执行validationQuery检测连接是否有效,做了这个配置会降低性能。default=false spring.datasource.druid.test-on-return=false #用来检测连接是否有效的sql,要求是一个查询语句,mysql常用 select 'x';oracle中常用 select 1 from dual;, spring.datasource.druid.validation-query=SELECT 1 spring.datasource.druid.validation-query-timeout=1000 #druid->StatFilter:用于统计监控信息 #druid控制台管理用户名 spring.datasource.druid.stat-view-servlet.login-username=admin #druid控制台管理用户名密码 spring.datasource.druid.stat-view-servlet.login-password=admin #白名单 spring.datasource.druid.stat-view-servlet.allow=127.0.0.1 #黑名单(当白名单和黑名单存在共同时,deny优先于allow,如果满足deny的即提示:Sorry, you are not permitted to view this page.) spring.datasource.druid.stat-view-servlet.deny=192.168.1.100 #是否能够重置数据. spring.datasource.druid.stat-view-servlet.reset-enable=false #添加不需要忽略的格式信息. spring.datasource.druid.web-stat-filter.exclusions=*.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid/* #添加过滤规则. spring.datasource.druid.web-stat-filter.url-pattern=/*
关于下面该配置,如果需要用到了添加到配置文件即可
#初始化时建立物理连接的个数 spring.datasource.druid.initial-size=5 #最小连接池数量 spring.datasource.druid.min-idle=5 #最大连接池数量 maxIdle已经不再使用 spring.datasource.druid.max-active=20 #获取连接时最大等待时间,单位毫秒 spring.datasource.druid.max-wait=60000 #既作为检测的间隔时间又作为testWhileIdel执行的依据 spring.datasource.druid.time-between-eviction-runs-millis=60000 #销毁线程时检测当前连接的最后活动时间和当前时间差大于该值时,关闭当前连接 spring.datasource.druid.min-evictable-idle-time-millis=30000 spring.datasource.druid.keep-alive=true #要求程序从池中get到连接后, N 秒后必须close,否则druid 会强制回收该连接,不管该连接中是活动还是空闲, 以防止进程不会进行close而霸占连接。 spring.datasource.druid.remove-abandoned=true #设置druid 强制回收连接的时限,当程序从池中get到连接开始算起,超过此值后,druid将强制回收该连接,单位秒。 spring.datasource.druid.remove-abandoned-timeout=180 #当druid强制回收连接后,是否将stack trace 记录到日志中 spring.datasource.druid.log-abandoned=true #当数据库抛出不可恢复的异常时,抛弃该连接 spring.datasource.druid.exception-sorter=true #是否缓存preparedStatement,mysql5.5+建议开启 spring.datasource.druid.pool-prepared-statements=true #当值大于0时poolPreparedStatements会自动修改为true spring.datasource.druid.max-pool-prepared-statement-per-connection-size=20 #配置扩展的插件,stat是监控统计拦截的filters,去掉后监控界面sql无法统计;wall则用于防火墙 spring.datasource.druid.filters=stat,wall #通过connectProperties属性来打开mergeSql功能;慢SQL记录 spring.datasource.druid.connection-properties=druid.stat.mergeSql=true;druid.stat.slowSqlMillis=500 #合并多个DruidDataSource的监控数据 spring.datasource.druid.use-global-data-source-stat=true
访问http://localhost:8080/druid/datasource.html
由于spring.datasource.druid.test-while-idle默认值是true,我这里在配置文件里面修改成false,目的是看配置文件里面的参数是否生效,从上图中可以看出TestWhileIdle变成false了,修改生效。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。