SpringBoot 2.0
开始推 HikariCP
,将默认的数据库连接池从 tomcat jdbc pool
改为了 hikari
, HikariCP
在性能和并发方面确实表现不俗(号称最快的连接池)。
如果你使用 spring-boot-starter-jdbc
或 spring-boot-starter-data-jpa
,会自动添加对 HikariCP
的依赖,也就是说此时使用 HikariCP
。当然你也可以强制使用其它的连接池技术,可以通过在 application.properties
或 application.yml
中配置 spring.datasource.type
指定。
基本配置
因为已经默认使用
HikariCP
,所以只需要在 yaml 中添加数据库配置即可:url: jdbc:mysql://localhost:3306?useSSL=falseusername: rootpassword: 1234
- 1
- 2
- 3
HikariCP 默认配置
主要参数是在
com.zaxxer.hikari.HikariConfig
中初始化的,部分参数是在com.zaxxer.hikari.pool.PoolBase
中初始化的。name 描述 构造器默认值 默认配置validate之后的值 validate重置 autoCommit 自动提交从池中返回的连接 true true - connectionTimeout 等待来自池的连接的最大毫秒数 SECONDS.toMillis(30) = 30000 30000 如果小于250毫秒,则被重置回30秒 idleTimeout 连接允许在池中闲置的最长时间 MINUTES.toMillis(10) = 600000 600000 如果idleTimeout+1秒>maxLifetime 且 maxLifetime>0,则会被重置为0(代表永远不会退出);如果idleTimeout!=0且小于10秒,则会被重置为10秒 maxLifetime