druid连接池配置
时间: 2025-02-10 12:07:34 浏览: 42
### 配置 Druid 数据库连接池
#### 导入 Druid 的开发依赖
为了在项目中使用 Druid 连接池,需先引入相应的 Maven 或 Gradle 依赖。对于 Maven 用户,在 `pom.xml` 文件中加入以下内容:
```xml
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid-spring-boot-starter</artifactId>
<version>1.2.8</version>
</dependency>
```
此操作确保了应用程序能够访问到 Druid 提供的功能和服务[^2]。
#### 修改数据源类型并配置基本参数
Spring Boot 默认采用 Tomcat JDBC Pool 作为其内置的数据源实现。要切换至 Druid,则应在项目的 `application.yml` 中指定新的数据源类路径,并定义必要的数据库连接属性:
```yaml
spring:
datasource:
type: com.alibaba.druid.pool.DruidDataSource
url: jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&useSSL=false&serverTimezone=UTC
username: root
password: 123456
```
上述配置指定了 MySQL 数据库的具体位置以及登录凭证等基本信息[^3]。
#### 设置高级选项优化性能与安全性
除了基础设置外,还可以通过调整更多参数来提升系统的稳定性和效率。例如:
- **最大活跃数 (`maxActive`)**
控制同一时间允许的最大并发连接数量,默认值通常已足够满足大多数场景需求;但在高负载环境下可能需要适当增加该数值以应对突发流量冲击。
- **最小闲置数 (`minIdle`)**
维持一定量的空闲连接处于就绪状态以便快速响应请求,减少创建新连接所带来的开销。
- **初始化大小 (`initialSize`)**
应用启动时即刻建立多少条物理链接实例,一般建议设为较小正值即可。
- **等待超时时间 (`maxWait`)**
当所有连接都被占用而无法立即获取可用资源时,客户端最多能等待多久才会抛出异常终止尝试过程。
以下是完整的 YAML 格式的最佳实践样例:
```yaml
spring:
datasource:
druid:
initial-size: 5
min-idle: 5
max-active: 20
max-wait: 60000
time-between-eviction-runs-millis: 60000
min-evictable-idle-time-millis: 300000
validation-query: SELECT 1 FROM DUAL
test-while-idle: true
test-on-borrow: false
test-on-return: false
pool-prepared-statements: true
max-pool-prepared-statement-per-connection-size: 20
filters: stat,wall,log4j
connection-properties: druid.stat.mergeSql=true;druid.stat.slowSqlMillis=5000
```
这段配置不仅涵盖了前面提到的关键点,还启用了 SQL 监控过滤器(stat)、防火墙防护机制(wall),并且集成了日志记录工具 log4j 来跟踪慢查询现象的发生情况。
阅读全文
相关推荐

















