1. Druid是什么
druid是一个数据库连接池,但比DBCP、c3pProxool0连接池要更好。内置强大的监控功能,监控特性不影响性能。能防SQL注入,内置 Logging能诊断Hack应用行为等等。
2.Druid的优点
-
Druid提供的监控功能,可以清楚知道连接池和SQL的工作情况。
转码自:
https://www.iteye.com/magazines/90#111
2.扩展JDBC
Druid提供了Filter-Chain模式的扩展API,可以自己编写Filter拦截JDBC中的任何方法。
可上面做任何事情,比如说性能监控、SQL审计、用户名密码加密、日志等等。
3.使用
两种方式:只讲解第二种方式
- 自定应直接配置 DruidDataSource
- 通过druid-spring-boot-starter 启动项,然后在application.yaml或application.properties中配置
步骤
1.导入依赖:
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid-spring-boot-starter</artifactId>
<version>1.1.17</version>
</dependency>
2.application.yaml中配置
spring:
datasource:
druid: #数据库连接池。Druid是目前最好的数据库连接池,比BDCP,c3p0,BoneCP更好
aop-patterns: com.example.* #监控SpringBean
filters: stat,wall # 底层开启功能,stat(sql监控),wall(防火墙)
stat-view-servlet: # 必须要 配置监控页功能 (只有 数据源、sql监控页面)
enabled: true # 开启
login-username: admin
login-password: admin
resetEnable: false
web-stat-filter: # 监控web
enabled: true # 开启
urlPattern: /*
exclusions: '*.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid/*'
filter:
stat: # 对上面filters里面的stat的详细配置
slow-sql-millis: 1000 #定义慢sql的时长,1秒
logSlowSql: true
enabled: true
wall:
enabled: true
config:
drop-table-allow: false
分析:
stat-view-servlet :
提供监控信息展示的html页面
提供监控信息的JSON API
web-stat-filter:
监控web配置
filter:
stat: # 对上面filters里面的stat的详细配置
slow-sql-millis: 1000 #对数据库操作超过一秒的,记录
logSlowSql: true
enabled: true
源码路径:
版权声明:本文为weixin_47356044原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。