使用数据库连接池可以减少连接创建和销毁开销,优化资源利用,下面是springboot中常用的两种数据库连接池对比及配置。
- HikariCP
HikariCP是一个高性能的开源Java数据库连接池,以出色的性能、简单的配置和易用性而收到广泛关注和应用。
HikarCP优点:
- 速度最快
- 性能开销最低
- springboot默认连接池
- 配置简单,易于集成
HikarCP配置示例
首先 在pom文件中添加maven依赖
<dependency>
<groupId>com.zaxxer</groupId>
<artifactId>HikariCP</artifactId>
</dependency>
在配置文件applicatio.properties或application.yml中进行设置如下
spring:
datasource:
type: com.zaxxer.hikari.HikariDataSource
hikari:
# 连接池名称
pool-name: MyHikariPool
# 最大连接数
maximum-pool-size: 20
# 最小空闲连接数
minimum-idle: 10
# 连接超时时间(毫秒)
connection-timeout: 30000
# 最大生命周期
max-lifetime: 1800000
# 空闲连接最大存活时间
idle-timeout: 600000
2、Druid
阿里巴巴开源的高性能JDBC连接池,提供强大的监控和扩展功能。
Druid特点
- 提供详细的监控统计
- 支持SQL防注入
- 内置大量性能优化特性
- 适合复杂系统
Druid配置示例
首先在pom文件中引入依赖
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid-spring-boot-starter</artifactId>
<version>1.2.16</version>
</dependency>
在application.yml文件中进行如下配置
spring:
datasource:
type: com.alibaba.druid.pool.DruidDataSource
druid:
# 初始化连接大小
initial-size: 5
# 最小空闲连接数
min-idle: 5
# 最大连接数
max-active: 20
# 获取连接等待超时时间
max-wait: 60000
# 监控统计拦截的filters
filters: stat,wall,log4j
3、选择建议
1、对性能要求高,推荐使用HikarCP
2、需要复杂监控,选择Druid