HikariCP 是一个可靠的、高性能的 JDBC 连接池

本来用的 alibaba/druid,但实际并没有怎么用其内置的监控网页,然后多方调查,决定弃用 druid,替换为 HikariCP

Spring Boot 内置的 JDBC 连接池就是 HikariCP,因此,减少了引入的步骤,更加简便了,只需要在 application.yml 中配置一下就可以用了

spring:
  datasource:
    name: database-a
    driver-class-name: com.mysql.cj.jdbc.Driver # MySQL 驱动,这里根据引入的 mysql-connector-java 包版本选择不同的 Driver, 8.x 需要用 cj
    url: jdbc:mysql://mysql:3306/database-a?useUnicode=true&characterEncoding=utf-8&serverTimezone=GMT%2B8&allowMultiQueries=true
    username: root
    password: 1
    type: com.zaxxer.hikari.HikariDataSource # JDBC 连接池类型:HikariCP
    hikari:
      connection-timeout: 30000     # 等待连接池分配链接的最大时长(毫秒),超过这个时长还没有可用的连接则发生 SQLException,默认:30 秒
      minimum-idle: 5               # 最小连接数
      maximum-pool-size: 20         # 最大连接数
      auto-commit: true             # 自动提交
      idle-timeout: 600000          # 连接超时的最大时长(毫秒),超时则被释放(retired),默认:10 分钟
      pool-name: DataSourceHikariCP # 连接池名称
      max-lifetime: 1800000         # 连接的生命时长(毫秒),超时而且没被使用则被释放(retired),默认: 30 分钟
      connection-test-query: select 1

HikariCP 作者建议 minimum-idlemaximum-pool-size 设置为一样的值,例如 10

maximum-pool-size 要根据服务器硬件配置来设置,硬件配置越低,这里的数值写的就越小,具体可参阅相关资料(还未搜集)