HikariCP–基础–3.2–使用–SpringBoot整合HikariCP
代码位置
https://gitee.com/DanShenGuiZu/learnDemo/tree/master/HikariCP-learn
前提
HikariCP--基础--3.1--使用--搭建mybatis环境
1、代码结构
![在这里插入图片描述](https://img-blog.csdnimg.cn/4693a55c443245878daed7c82d5a3e7a.png#pic_center)
2、POM
2.1、改动点
新增依赖
<!--===============HikariCP依赖 begin================-->
<dependency>
<groupId>com.zaxxer</groupId>
<artifactId>HikariCP</artifactId>
<version>5.0.1</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
<exclusions>
<!-- 排除 tomcat-jdbc 以使用 HikariCP -->
<exclusion>
<groupId>org.apache.tomcat</groupId>
<artifactId>tomcat-jdbc</artifactId>
</exclusion>
</exclusions>
</dependency>
<!--===============HikariCP依赖 end================-->
删除依赖
<!--数据源类型-->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.1.9</version>
</dependency>
2.2、整体POM
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.6.10</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>fei.zhou</groupId>
<artifactId>HikariCP-learn</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>HikariCP-learn</name>
<description>Demo project for Spring Boot</description>
<properties>
<java.version>11</java.version>
</properties>
<dependencies>
<!--===============非必要依赖 begin================-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!--简洁代码工具 lombok-->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.20</version>
</dependency>
<!--===============非必要依赖 end================-->
<!--mybatis 依赖-->
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.2.0</version>
</dependency>
<!--数据库连接 -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.26</version>
</dependency>
<!--===============HikariCP依赖 begin================-->
<dependency>
<groupId>com.zaxxer</groupId>
<artifactId>HikariCP</artifactId>
<version>5.0.1</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
<exclusions>
<!-- 排除 tomcat-jdbc 以使用 HikariCP -->
<exclusion>
<groupId>org.apache.tomcat</groupId>
<artifactId>tomcat-jdbc</artifactId>
</exclusion>
</exclusions>
</dependency>
<!--===============HikariCP依赖 end================-->
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
<resources>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.xlsx</include>
<include>**/*.xml</include>
<include>**/*.yml</include>
<include>**/*.properties</include>
<include>**/*.json</include>
</includes>
<!-- 是否替换资源中的属性 -->
<filtering>false</filtering>
</resource>
<resource>
<directory>src/main/resources</directory>
<includes>
<include>**/*.xlsx</include>
<include>**/*.xml</include>
<include>**/*.yml</include>
<include>**/*.properties</include>
<include>**/*.json</include>
</includes>
<!-- 是否替换资源中的属性 -->
<filtering>false</filtering>
</resource>
</resources>
</build>
</project>
3、application.yml
3.1、改动点
![在这里插入图片描述](https://img-blog.csdnimg.cn/28ed9c4ebb1a4ac39341b3e1049ded47.png#pic_center)
- 修改数据源 类型
- 新增 hikari配置
3.2、整体application.yml
spring:
#配置数据源
datasource:
type: com.zaxxer.hikari.HikariDataSource
url: jdbc:mysql://db.hd.com:3306/test?useSSL=false&serverTimezone=UTC&characterEncoding=utf8&useUnicode=true
username: root
password: 1111
hikari:
# 是允许连接在连接池中空闲的最长时间
minimum-idle: 5
# 是允许连接在连接池中空闲的最长时间(以毫秒为单位)
idle-timeout: 600000
# 配置最大池大小
maximum-pool-size: 10
# 配置从池返回的连接的默认自动提交行为。默认值为true
auto-commit: true
# 连接池的名称
pool-name: MyHikariCP
# 池中连接关闭后的最长生命周期(以毫秒为单位)
max-lifetime: 1800000
# 是客户端等待连接池连接的最大毫秒数
connection-timeout: 30000
# 开启连接监测泄露
leak-detection-threshold: 5000
# 测试连接数据库
connection-test-query: SELECT 1
mybatis:
type-aliases-package: fei.zhou.hikaricplearn.business.user.bean