介绍
HikariCP是最近非常火的一款数据库连接池工具,从它的github的介绍可知,它的主要特点是速度快、稳定性高、简单的;它的Jar包只有130K,是非常轻量的一款生产级的数据库连接池。而且这款数据库连接池也得到了开发者的极大的认可,目前成为了springboot2.x的默认数据库连接池。当前我们的很多项目是在springboot1.x的基础上进行开发运行的,springboot1.x的默认的数据库连接池是Tomcat-jdbc,而我们之前经常会将数据库连接池调整为Druid,今天我们就将项目中的数据库连接池更换为HikariCP,感受一些当前市面上最快的这块数据库连接池的魅力
环境准备
Springboot版本: 1.5.6.RELEASE JDK版本: 8
新增依赖
如果你的JDK版本是8,则依赖如下:
<dependency>
<groupId>com.zaxxer</groupId>
<artifactId>HikariCP</artifactId>
<version>4.0.3</version>
</dependency>
如果你的JDK版本不是8,根据官方的介绍如下:
<dependency>
<groupId>com.zaxxer</groupId>
<artifactId>HikariCP</artifactId>
<version>2.4.13</version>
</dependency>
<dependency>
<groupId>com.zaxxer</groupId>
<artifactId>HikariCP</artifactId>
<version>2.4.13</version>
</dependency>
<dependency>
<groupId>com.zaxxer</groupId>
<artifactId>HikariCP</artifactId>
<version>5.0.1</version>
</dependency>
排除依赖
排除springboot1.x中默认使用tomcat-jdbc连接池,排除的步骤如下:
- 通过 mvn dependency:tree 命令查看项目中引入tomcat-jdbc依赖的maven配置
- 通过exclusions标签将该依赖排除
举个栗子:
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>1.3.1</version>
<exclusions>
<exclusion>
<groupId>org.apache.tomcat</groupId>
<artifactId>tomcat-jdbc</artifactId>
</exclusion>
</exclusions>
</dependency>
配置文件
application.yml 文件调整
spring:
datasource:
# 数据库连接池类型:也可不配置type参数
type: com.zaxxer.hikari.HikariDataSource
initialSize: 1
maxWait: 60000
minIdle: 1
timeBetweenEvictionRunsMillis: 60000
minEvictableIdleTimeMillis: 300000
poolPreparedStatements: true
maxOpenPreparedStatements: 20
driver-class-name: com.mysql.cj.jdbc.Driver
filters: stat
maxActive: 20
testOnBorrow: true
validationQuery: select 1
其它还有很多的配置参数,可以根据自己的实际情况进行有效的配置,相关参数通过HikariCP的github地址即可查看: https://github.com/brettwooldridge/HikariCP
日志配置
刚修改完成,为了更好的确认整个过程并定位一些异常,可以将HikariCP的项目路径 com.zaxxer 配置到日志中并打开DEBUG日志,这样可以更加全面的看到完整的日志信息
写在最后
至此,整个springboot1.x的项目中的数据库连接池就替换成了HikariCP,接下来就让我们来发现一下这个以快著称的数据库连接池的魅力吧
|