SpringBoot整合Druid
Druid是由阿里巴巴推出的数据库连接池,它结合了C3P0、DBCP、PROXOOL等数据库连接池的优点,之所以从众多数据库连接池中脱颖而出,还有一个重要的原因就是它包含控制台,很方便的帮助我们实现对于sql执行的监控
SpringBoot整合Druid
- 添加引入德鲁伊启动器(druid)依赖依赖
<!--引入德鲁伊启动器(druid)依赖-->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid-spring-boot-starter</artifactId>
<version>1.1.10</version>
</dependency>
- 修改配置文件
#设置端口号
server:
port: 8888
#设置上下文路径
servlet:
context-path: /SpringBoot01
# 数据库连接池druid配置
spring:
datasource:
type: com.alibaba.druid.pool.DruidDataSource
driverClassName: com.mysql.jdbc.Driver
url: jdbc:mysql://localhost:3306/userdb?useUnicode=true&characterEncoding=utf-8
username: root
# 1.配置生成的password
password: 123456
# Druid数据源配置
# 初始连接数
initialSize: 5
# 最小连接池数量
minIdle: 10
# 最大连接池数量
maxActive: 20
# 配置获取连接等待超时的时间
maxWait: 60000
# 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒
timeBetweenEvictionRunsMillis: 60000
# 配置一个连接在池中最小生存的时间,单位是毫秒
minEvictableIdleTimeMillis: 300000
# 配置一个连接在池中最大生存的时间,单位是毫秒
maxEvictableIdleTimeMillis: 900000
# 配置检测连接是否有效
validationQuery: SELECT 1 FROM DUAL
#申请连接的时候检测,如果空闲时间大于timeBetweenEvictionRunsMillis,执行validationQuery检测连接是否有效。
testWhileIdle: true
#配置从连接池获取连接时,是否检查连接有效性,true每次都检查;false不检查。做了这个配置会降低性能。
testOnBorrow: false
#配置向连接池归还连接时,是否检查连接有效性,true每次都检查;false不检查。做了这个配置会降低性能。
testOnReturn: false
#打开PsCache,并且指定每个连接上PSCache的大小
poolPreparedStatements: true
maxPoolPreparedStatementPerConnectionSize: 20
# 配置监控统计拦截的filters,去掉后监控界面sql无法统计,'wall'用于防火墙
filters: stat,wall,log4j
#合并多个DruidDatasource的监控数据
useGlobalDataSourceStat: true
#通过connectProperties属性来打开mergesql功能罗慢sQL记录
connectionProperties: druid.stat.mergeSql=true;druid.stat.slowSqlMillis=500;
#配置DruidStatFilter
web-view-servlet:
enabled: true
url-pattern: "/*"
exclusions: ".js,*.gif,*.jpg,*.bmp,*.png,*.css,*.ico,/druid/*"
# 配置 DruidStatViewServlet
stat-view-servlet:
url-pattern: "/druid/*"
# IP 白名单,没有配置或者为空,则允许所有访问
allow: 127.0.0.1
# IP 黑名单,若白名单也存在,则优先使用
deny: 192.168.31.253
# 禁用 HTML 中 Reset All 按钮
reset-enable: false
# 登录用户名/密码
login-username: root
login-password: 123
mybatis:
#给实体类起别名
type-aliases-package: com.zuxia.entity
#指定mapper.xml映射文件的路径,如何和dao层的名字一致,则不用写也可以找到
mapper-locations: classpath:mapper/*.xml
http://localhost:8888/SpringBoot01/druid/index.html 可以访问Druid的控制台
注意:如何访问出现404则可能是druid-spring-boot-starter的版本太高,和数据库不匹配,降低版本,最好是1.1.10的版本