1.添加依赖
2.application.proerties添加配置
spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=xxxx
spring.datasource.username=xxxx
spring.datasource.password=xxxx
# 数据库连接池最大值
spring.datasource.max-active=20
# 数据库连接池初始值
spring.datasource.initial-size=5
# 数据库连接池最小空闲值
spring.datasource.min-idle=5
# 池中空闲连接大于minIdle且连接空闲时间大于该值,则关闭该连接,单位毫秒(5分钟,默认30分钟)
spring.datasource.min-evictable-idle-time-millis=300000
# 获取连接时最大等待时间,单位毫秒(1分钟)
spring.datasource.max-wait=60000
# 检测连接是否有效时执行的sql命令
spring.datasource.validation-query=select 1
# 借用连接时执行validationQuery检测连接是否有效,做了这个配置会降低性能
spring.datasource.test-on-borrow=false
# 归还连接时执行validationQuery检测连接是否有效,做了这个配置会降低性能
spring.datasource.test-on-return=false
# 连接空闲时检测,如果连接空闲时间大于timeBetweenEvictionRunsMillis指定的毫秒,执行validationQuery指定的SQL来检测连接是否有效
spring.datasource.test-while-idle=true
# 空闲连接检查、废弃连接清理、空闲连接池大小调整的操作时间间隔,单位是毫秒(1分钟)
spring.datasource.time-between-eviction-runs-millis=60000
# 打开PSCache,并且指定每个连接上PSCache的大小(是否缓存preparedStatement, 也就是PSCache,PSCache对支持游标的数据库性能提升巨大,比如说oracle,在mysql下建议关闭。)
spring.datasource.pool-prepared-statements=false
# 要启用PSCache,必须配置大于0,当大于0时,poolPreparedStatements自动触发修改为true。在Druid中,不会存在Oracle下PSCache占用内存过多的问题,可以把这个数值配置大一些,比如说100
# spring.datasource.max-pool-prepared-statement-per-connection-size=20
# 配置监控统计拦截的filters,去掉后监控界面sql无法统计,'wall'用于防火墙
spring.datasource.filters=stat,wall,slf4j
# 通过connectProperties属性来打开mergeSql功能;慢SQL记录
spring.datasource.connect-properties=druid.stat.mergeSql=true;druid.stat.slowSqlMillis=5000
# 是否启用StatFilter默认值true
spring.datasource.web-stat-filter.enabled=true
# 添加过滤规则
spring.datasource.web-stat-filter.url-pattern=/*
# 忽略过滤的格式
spring.datasource.web-stat-filter.exclusions=/druid/*,*.js,*.gif,*.jpg,*.png,*.css,*.ico
# 是否启用StatViewServlet默认值true
spring.datasource.stat-view-servlet.enabled=true
# 访问路径为/druid时,跳转到StatViewServlet
spring.datasource.stat-view-servlet.url-pattern=/druid/*
# 是否能够重置数据
spring.datasource.stat-view-servlet.reset-enable=false
# 需要账号密码才能访问控制台,默认为root
spring.datasource.stat-view-servlet.login-username=druid
spring.datasource.stat-view-servlet.login-password=druid
# IP白名单
spring.datasource.stat-view-servlet.allow=127.0.0.1
# IP黑名单(共同存在时,deny优先于allow)
spring.datasource.stat-view-servlet.deny=
3.测试
启动项目出现如下日志代表数据库连接池已经使用了Druid
2024-01-03T15:52:21.425 08:00 INFO 18092 --- [ main] c.a.d.s.b.a.DruidDataSourceAutoConfigure : Init DruidDataSource
2024-01-03T15:52:23.702 08:00 INFO 18092 --- [ main] com.alibaba.druid.pool.DruidDataSource : {dataSource-1} inited
4.访问 Druid 控制台
地址为http://localhost:8080/druid/login.html
访问路径和项目访问路径一致后面加/druid/login.html
用户名、密码为配置文件中配置的,druid、druid。