当前位置: 首页 > news >正文

springboot 配置 HikariDataSource 连接池信息

springboot 配置 HikariDataSource 连接池信息

在 Spring Boot 中配置 HikariDataSource 非常简单,可以通过 application.propertiesapplication.yml 文件进行配置。以下是常用的配置项及说明:

1. application.yml 配置方式

yaml

spring:datasource:# 数据库连接信息url: jdbc:mysql://localhost:3306/your_database?useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Shanghaiusername: rootpassword: your_passworddriver-class-name: com.mysql.cj.jdbc.Driver# Hikari 连接池配置hikari:# 连接池名称(显示在日志和监控中)pool-name: MyHikariPool# 最大连接数(默认10,建议根据并发量调整)maximum-pool-size: 20# 最小空闲连接数(默认等于maximum-pool-size,建议设置为5-10)minimum-idle: 5# 连接超时时间(毫秒,默认30000ms=30秒)connection-timeout: 30000# 连接最大存活时间(毫秒,默认1800000ms=30分钟,建议小于数据库wait_timeout)max-lifetime: 1800000# 空闲连接超时时间(毫秒,默认600000ms=10分钟,设置为0表示永不超时)idle-timeout: 600000# 测试连接是否有效(建议配置,避免使用失效连接)connection-test-query: SELECT 1

2. application.properties 配置方式

properties

# 数据库连接信息
spring.datasource.url=jdbc:mysql://localhost:3306/your_database?useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Shanghai
spring.datasource.username=root
spring.datasource.password=your_password
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver# Hikari 连接池配置
spring.datasource.hikari.pool-name=MyHikariPool
spring.datasource.hikari.maximum-pool-size=20
spring.datasource.hikari.minimum-idle=5
spring.datasource.hikari.connection-timeout=30000
spring.datasource.hikari.max-lifetime=1800000
spring.datasource.hikari.idle-timeout=600000
spring.datasource.hikari.connection-test-query=SELECT 1

关键配置项说明

配置项作用建议值
maximum-pool-size连接池允许的最大连接数5-20(根据并发量调整,不宜过大,避免数据库压力)
minimum-idle维持的最小空闲连接数5-10(避免频繁创建连接)
connection-timeout获取连接的超时时间30000ms(30 秒,超过则抛连接超时异常)
max-lifetime连接的最大存活时间小于数据库的 wait_timeout(MySQL 默认 8 小时,建议 30 分钟)
idle-timeout空闲连接的超时时间10 分钟(释放长期空闲的连接,避免资源浪费)
connection-test-query测试连接有效性的 SQLSELECT 1(MySQL)、SELECT 1 FROM DUAL(Oracle)

自定义配置类(可选)

如果需要通过代码自定义 HikariDataSource,可以创建配置类:

import com.zaxxer.hikari.HikariConfig;
import com.zaxxer.hikari.HikariDataSource;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;import javax.sql.DataSource;@Configuration
public class HikariConfig {@Beanpublic DataSource dataSource() {HikariConfig config = new HikariConfig();// 数据库连接信息config.setJdbcUrl("jdbc:mysql://localhost:3306/your_database?useUnicode=true&characterEncoding=utf8");config.setUsername("root");config.setPassword("your_password");config.setDriverClassName("com.mysql.cj.jdbc.Driver");// 连接池配置config.setPoolName("CustomHikariPool");config.setMaximumPoolSize(20);config.setMinimumIdle(5);config.setConnectionTimeout(30000);config.setMaxLifetime(1800000);config.setIdleTimeout(600000);config.setConnectionTestQuery("SELECT 1");return new HikariDataSource(config);}
}

注意事项

  1. Spring Boot 2.x 及以上默认使用 HikariCP,无需额外引入依赖(已包含在 spring-boot-starter-jdbcspring-boot-starter-data-jpa 中)。
  2. 配置时需确保 max-lifetime 小于数据库的 wait_timeout(避免数据库主动关闭连接后,连接池仍持有无效连接)。
  3. 生产环境建议配置 connection-test-query,确保获取的连接是有效的。
http://www.dtcms.com/a/418599.html

相关文章:

  • identity mapping kernel image mapping
  • Docker操作命令
  • iOS 26 能耗检测实战指南,升级后电池掉速是否正常 + KeyMob + Instruments 实时监控 + 优化策略
  • perl踩坑系列===正则表达式第2坑---split中的“或”操作符
  • 苹果iOS 26正式版系统性能深度测试:续航、信号、流畅度详细解析
  • 假网站网站怎么做中山中小企业网站建设
  • 网站备案 二级域名学会网站建设项目
  • 01-元字符:如何巧妙记忆正则表达式的基本元件?
  • yandex俄语网站建设广东省网站备案查询
  • nginx xxs漏铜修复、nginx 域名配置、nginx https证书配置、Http不安全处理方法
  • 建设银行客户端官方网站flask做大型网站开发
  • 耐达讯自动化妙解Modbus与Profibus协议冲突:变频器控制的“黄金公式“
  • 自动化专业核心课《计算机控制技术》导览---数字时代的控制中枢
  • 【星海出品】计算机科学缓存命中学习
  • YOLO入门教程(番外):计算机视觉数学、编程基础
  • 做商品网站医院网站建设方案计划书
  • 从零开始学RabbitMQ:Java实战简单模式与工作队列消息处理
  • 农家乐网站模板腾讯云电商网站建设
  • 响应式网站用什么软件做效果站酷设计网站官网入口免费个人海报
  • JavaScript中国手机号校验
  • 【OJ】stack 的经典OJ题
  • 算法1.0
  • 语义网络对人工智能自然语言处理中深层语义分析的影响与启示
  • HCTF2018
  • 网站定制设计深圳网络营销优化
  • 西安建站推广做网站为什么选择竞网智赢
  • 学习日报 20250928|Java日志规范:从基础规约到高级实践(含SkyWalking整合)
  • 江协科技 CAN总线入门课程(CAN简介硬件电路)
  • 每周资讯 | 腾讯《三角洲行动》周年庆登双榜TOP1;腾讯首款生活模拟游戏《粒粒的小人国》曝光
  • 做网站 业务流程图网站成立时间