No Data

springboot3使用druid连接池连接mysql

原创  作者:斩雪碎光阴  发布于:2024年04月09日  阅读量:211
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
  分类:  标签:

1.添加依赖

   com.alibaba

   druid-spring-boot-3-starter

   1.2.20

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。

相关文章