为什么使用HiKariCP
在Springboot2.X版本,数据库的连接池官方推荐使用HikariCP,官方的原话:
- 我们更喜欢HikariCP的性能和并发性。如果有HikariCP,我们总是选择它
- 否则,如果Tomcat池数据源可用,我们将使用它。
- 如果HikariCP和Tomcat池数据源都不可用,如果Commons DBCP2可用,我们将使用它。
如何使用HiKariCP
如果你的springboot版本是2.X
当你使用spring-boot-starter-jdbc或者spring-boot-starter-data-jpa依赖
springboot就会自动引入HikariCP的依赖了。
整合HiKariCP
1.pom中引入数据源驱动与mybatis依赖
<!-- mysql驱动 -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
<!-- mybatis -->
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.1.0</version>
</dependency>
2.在yml中配置数据源和mybatis
2.1 配置数据源信息
############################################################
#
# 配置数据源信息
#
############################################################
spring:
profiles:
active: dev
datasource: # 数据源的相关配置
type: com.zaxxer.hikari.HikariDataSource # 数据源类型:HikariCP
# 这里根据自己的版本来决定
# 低版本使用com.mysql.jdbc.Driver
# 高版本使用com.mysql.cj.jdbc.Driver
driver-class-name: com.mysql.cj.jdbc.Driver # mysql驱动
# url: jdbc:mysql://localhost:3306/foodie-shop-dev?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true
username: root
# password: root
hikari:
connection-timeout: 30000 # 等待连接池分配连接的最大时长(毫秒),超过这个时长还没可用的连接则发生SQLException, 默认:30秒
minimum-idle: 5 # 最小连接数
maximum-pool-size: 20 # 最大连接数
auto-commit: true # 自动提交
idle-timeout: 600000 # 连接超时的最大时长(毫秒),超时则被释放(retired),默认:10分钟
pool-name: DateSourceHikariCP # 连接池名字
max-lifetime: 1800000 # 连接的生命时长(毫秒),超时而且没被使用则被释放(retired),默认:30分钟 1800000ms
connection-test-query: SELECT 1
servlet:
multipart:
max-file-size: 512000 # 文件上传大小限制为500kb
max-request-size: 512000 # 请求大小限制为500kb
2.2 mybatis配置
############################################################
#
# mybatis 配置
#
############################################################
mybatis:
type-aliases-package: com.imooc.pojo # 所有POJO类所在包路径
mapper-locations: classpath:mapper/*.xml # mapper映射文件
# configuration:
# log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
3.内置tomcat
############################################################
#
# web访问端口号 约定:8088
#
############################################################
server:
# port: 8088
tomcat:
uri-encoding: UTF-8
max-http-header-size: 80KB