Druid介绍
Druid是阿里巴巴的一个开源项目,号称为监控而生的数据库连接池,在功能、性能、扩展性方面都超过其他例如DBCP、C3P0、BoneCP、Proxool、JBoss DataSource等连接池,而且Druid已经在阿里巴巴部署了超过600个应用,通过了极为严格的考验,这才收获了大家的青睐!
整合Druid数据库连接池
- 首先加入druid的依赖
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid-spring-boot-starter</artifactId>
<version>1.1.10</version>
</dependency>
- 加入druid的配置
spring:
datasource:
druid:
url: jdbc:mysql://192.168.99.100:3306/spring_cloud_demo?useUnicode=true&character_set_server=utf8mb4&useSSL=false&allowPublicKeyRetrieval=true
driver-class-name: com.mysql.cj.jdbc.Driver
username: root
password: root
# 初始化大小,最小,最大
initial-size: 5
min-idle: 5
max-active: 20
# 配置获取连接等待超时的时间
max-wait: 60000
# 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒
time-between-eviction-runs-millis: 60000
# 配置一个连接在池中最小生存的时间,单位是毫秒
min-evictable-idle-time-millis: 300000
#检测连接是否有效的sql
validation-query: SELECT 'x'
validation-query-timeout: 60000
test-while-idle: true
test-on-borrow: false
test-on-return: false
#是否缓存preparedStatement,mysql5.5+建议开启
pool-prepared-statements: true
max-pool-prepared-statement-per-connection-size: 20
#配置扩展插件
filters: stat,wall
#通过connectProperties属性来打开mergeSql功能;慢SQL记录
connect-properties: druid.stat.mergeSql=true;druid.stat.slowSqlMillis=500
#合并多个DruidDataSource的监控数据
use-global-data-source-stat: true
stat-view-servlet:
login-username: admin
login-password: admin
reset-enable: false
url-pattern: /druid/*
# 添加IP白名单
#allow:
# 添加IP黑名单,当白名单和黑名单重复时,黑名单优先级更高
#deny:
web-stat-filter:
# 添加过滤规则
url-pattern: /*
# 忽略过滤格式
exclusions: "*.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid/*"
- 启动服务测试
访问:http://localhost:8762/druid/
参考
第六篇 SpringBoot 2 x添加Druid作为数据库连接池
Druid(新版starter)在SpringBoot下的使用
Spring boot学习(四)Spring boot整合Druid
Spring Boot教程(七):Spring Boot集成druid连接池
Spring Boot 2.1.0中 druid连接池的yml配置 免去配置类 纯yml
SpringBoot整合Spring Data JPA、MySQL、Druid并使用Mockito实现单元测试
Spring Boot (四): Druid 连接池密码加密与监控