Druid连接池
一.什么是Druid连接池?
Druid 是阿里巴巴开源的一款数据库连接池(Database Connection Pool),具有高效、稳定、安全等特点。除了连接池的功能外,Druid 还提供了强大的 SQL 监控、统计、日志记录、防火墙等功能。它主要用于管理数据库连接、提高数据库访问性能,并且可以帮助开发人员分析和监控 SQL 语句的执行情况。
二.Druid连接池的使用场景:
- 高并发环境下数据库连接池的管理。
- 需要对 SQL 进行性能分析和监控的场景。
- 需要对 SQL 进行安全防护,防止 SQL 注入等攻击的场景。
- 需要自动化数据库连接池管理和监控的企业级项目。
三.Druid连接池的使用方法:
Druid 可以非常方便地集成到 Spring Boot 项目中,通过简单的配置文件修改和少量代码就可以启用其数据库连接池及监控功能。配置 Druid 的步骤包括:
- 引入 Druid 的依赖。
- 配置数据源和连接池的参数。
- 启用 SQL 监控和 Web 控制台。
1.引入Druid依赖:
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid-spring-boot-starter</artifactId>
<version>1.2.16</version>
</dependency>
2.在 application.yml
中配置 Druid 数据源参数:
spring:
datasource:
type: com.alibaba.druid.pool.DruidDataSource
url: jdbc:mysql://localhost:3306/your_database
username: root
password: your_password
driver-class-name: com.mysql.cj.jdbc.Driver
druid:
# 连接池基本配置
initial-size: 10 # 初始连接数
min-idle: 10 # 最小空闲连接数
max-active: 50 # 最大活跃连接数(并发数)
max-wait: 30000 # 获取连接的最大等待时间(毫秒)
time-between-eviction-runs-millis: 60000 # 两次空闲连接检测的间隔时间(毫秒)
min-evictable-idle-time-millis: 300000 # 连接保持空闲的最小时间(毫秒)
validation-query: SELECT 1 # 检查连接是否可用的 SQL
test-while-idle: true # 空闲时测试连接可用性
test-on-borrow: false # 获取连接时不测试
test-on-return: false # 归还连接时不测试
#下面配置是监控,可通过http://localhost:8080/druid/来访问
#通过 Druid 提供的 Web 监控控制台,对数据库连接池的运行情况进行可视化监控,同时提供了一定的权限控制,确保只有特定 IP 地址或用户能够访问该监控页面
stat-view-servlet:
enabled: true # 启用 Druid 的监控视图功能
url-pattern: /druid/* # 设置访问监控视图的 URL 地址,例如 /druid/*
allow: 127.0.0.1 # 只允许本地 IP 127.0.0.1 访问该监控视图
login-username: admin # 设置访问监控页面时的用户名
login-password: admin # 设置访问监控页面时的密码