本文主要是介绍springboot整合mybatis 使用HikariCP连接池,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
前言
Springboot让Java开发更加美好,本节主要讲的是使用Hikari数据库连接池。
为什么使用HikariCP
在Springboot2.X版本,数据库的连接池官方推荐使用HikariCP,官方的原话:
Production database connections can also be auto-configured by using a pooling
DataSource
. Spring Boot uses the following algorithm for choosing a specific implementation:
We preferHikariCPfor its performance and concurrency. If HikariCP is available, we always choose it.
Otherwise, if the Tomcat pooling
DataSource
is available, we use it.If neither HikariCP nor the Tomcat pooling datasource are available and ifCommons DBCP2is available, we use it.
意思是说:
-
我们更喜欢HikariCP的性能和并发性。如果有HikariCP,我们总是选择它
-
否则,如果Tomcat池数据源可用,我们将使用它。
-
如果HikariCP和Tomcat池数据源都不可用,如果Commons DBCP2可用,我们将使用它。
那么如何使用HikariCP呢?
那它是怎么做到如此强劲的呢?官网给出的说明如下:
字节码精简:优化代码,直到编译后的字节码最少,这样,CPU缓存可以加载更多的程序代码;
优化代理和拦截器:减少代码,例如HikariCP的Statement proxy只有100行代码;
自定义数组类型(FastStatementList)代替ArrayList:避免每次get()调用都要进行range check,避免调用remove()时的从头到尾的扫描;
自定义集合类型(ConcurrentBag):提高并发读写的效率;
其他缺陷的优化,比如对于耗时超过一个CPU时间片的方法调用的研究(但没说具体怎么优化)。
可以看到,上述这几点优化,和现在能找到的资料来看,HakariCP在性能上的优势应该是得到共识的,再加上它自身小巧的身形,在当前的“云时代、微服务”的背景下,HakariCP一定会得到更多人的青睐。
如果你的springboot版本是2.X,当你使用spring-boot-starter-jdbc
或者spring-boot-starter-data-jpa
依赖,springboot就会自动引入HikariCP的依赖了。
使用指定的数据库连接池
如果你需要使用指定的数据库连接池,那么你需要在application.properties
中配置:spring.datasource.type
环境
-
JDK: 1.8
-
Maven: 3.3.9
-
SpringBoot: 2.2.2.RELEASE
-
开发工具:STS4
开始使用
本次的配置中我们持久层使用mybatis,使用HikariCP作为数据库连接池。
引入依赖
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-jdbc</artifactId></dependency><dependency><groupId>org.springframewor
这篇关于springboot整合mybatis 使用HikariCP连接池的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!