Spring Boot数据库连接池

Spring Boot默认使用HikariCP数据库连接池;

HikariCP is a "zero-overhead" production ready JDBC connection pool.

HikariCP是一个"零开销"的JDBC连接池产品;

作者Brett Wooldridge,他是一个从2008年一直生活在日本东京的的美国人开发开源的;

日语发音是Hi-ka-li(lee)

Hikari的意思是光,"光"的意思是"...的速度";HikariCP的全称Hikari Connection Pool,即Hikari连接池;

连接池参数:

|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| #配置连接mysql数据库的数据源 spring:   datasource: hikari:       #最大连接数,默认是10 maximum-pool-size: 30       #最小空闲连接,默认是10 minimum-idle: 30       #等待连接池分配连接的最大时长,超过该时长还没有可用连接则发生超时异常(单位毫秒) connection-timeout: 5000       #空闲连接的最大时长,空闲多久就被释放回收,设置为0不让连接回收 idle-timeout: 0       #一个连接的最大生命时间,超过该时间还没有使用就回收掉(单位毫秒) #在MySQL数据库中,一个连接的最大存活时间通常是由wait_timeout参数来控制的。这个参数定义了非交互式连接可以保持空闲的最长时间,超过这个时间后,连接将被自动关闭。默认情况下,wait_timeout的值是28800秒,也就是8小时。不过,这个值是可以根据需要进行调整的。你可以通过修改MySQL的配置文件(通常是my.cnf或my.ini),在[mysqld]部分设置wait_timeout的值来更改最大连接存活时间。 另外,还有一个interactive_timeout参数,它定义了交互式连接(如通过MySQL客户端进行的连接)可以保持空闲的最长时间。默认情况下,interactive_timeout的值通常与wait_timeout相同。 max-lifetime: 18000000 |

Spring Boot切换数据库连接池

Spring Boot默认使用的是HikariCP,那是否可以切换连接池组件呢?答案是可以的;

|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>3.0.3</version> <exclusions> <exclusion> <groupId>com.zaxxer</groupId> <artifactId>HikariCP</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>com.alibaba</groupId> <artifactId>druid-spring-boot-starter</artifactId> <version>1.2.23</version> </dependency> |
| 配置文件添加此配置 spring.datasource.type=com.alibaba.druid.pool.DruidDataSource |

相关推荐
廋到被风吹走几秒前
【数据库】【Redis】缓存监控体系深度解析:从 BigKeys 到慢查询
数据库·redis·缓存
张乔2414 分钟前
spring boot项目中设置默认的方法实现
java·数据库·spring boot
小北方城市网15 分钟前
SpringBoot 集成 Redis 实战(缓存与分布式锁):提升系统性能与并发能力
spring boot·python·rabbitmq·java-rabbitmq·数据库架构
TDengine (老段)17 分钟前
TDengine R 语言连接器入门指南
大数据·数据库·物联网·r语言·时序数据库·tdengine·涛思数据
heartbeat..18 分钟前
数据库性能优化:SQL 语句的优化(原理+解析+面试)
java·数据库·sql·性能优化
yuhaiqun198919 分钟前
SQL+VSCode实战指南:AI赋能高效数据库操作
数据库·人工智能·经验分享·vscode·sql·学习·学习方法
韩立学长23 分钟前
基于Springboot琴行学生课程信息管理系统2gt392wb(程序、源码、数据库、调试部署方案及开发环境)系统界面展示及获取方式置于文档末尾,可供参考。
数据库·spring boot·后端
Mr.H012725 分钟前
Linux常见压缩命令
linux·服务器·数据库
咕噜企业分发小米27 分钟前
阿里云与华为云基因测序数据同步的日志内容中,哪些字段对于故障排查最为关键?
数据库·阿里云·华为云
阿杰 AJie27 分钟前
MyBatis-Plus 比较运算符
java·数据库·mybatis