Spring Boot数据库连接池

发布于:2025-03-30 ⋅ 阅读:(91) ⋅ 点赞:(0)

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


网站公告

今日签到

点亮在社区的每一天
去签到