HikariCP连接池声称世界最快的连接池,不管怎么样,既然这样号称,小编就在自己的SSM框架项目中来配置一下HikariCP连接池,它和c3p0,dbcp等连接池的配置还是有一点儿不一样的,下面来开始学习如何spring配置HikariCP连接池吧!
第一步:添加HikariCP maven jar包,不同的jdk版本的jar包也有所不同,如下所示:
Java 8/9 maven artifact:
<dependency> <groupId>com.zaxxer</groupId> <artifactId>HikariCP</artifactId> <version>3.1.0</version> </dependency>
Java 7 maven artifact:
<dependency> <groupId>com.zaxxer</groupId> <artifactId>HikariCP-java7</artifactId> <version>2.4.13</version> </dependency>
Java 6 maven artifact:
<dependency> <groupId>com.zaxxer</groupId> <artifactId>HikariCP-java6</artifactId> <version>2.3.13</version> </dependency>
第二步:添加jdbc.properties配置文件,要注意的是:HikariCP连接池的mysql jdbc driver驱动不是“com.mysql.jdbc.Driver”了,而是下面“com.mysql.cj.jdbc.MysqlDataSource”这种了,如果不用下面这种,就会报错的。
jdbc.driver=com.mysql.cj.jdbc.MysqlDataSource jdbc.url=jdbc:mysql://localhost:3306/voa?useUnicode=true&characterEncoding=utf8 jdbc.username=root jdbc.password=userroot
第三步:在spring-context.xml中添加HikariCP连接池的datasource数据源配置,HikariCP是很智能的,很多配置都不需要自己加,因为它已经帮你优化得很好了,所以小编只加入了一个maximumPoolSize最大连接池数量,其它的除了用户名和密码,基本上都没有添加:
<!-- 使用spring自带的占位符替换功能 --> <bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"> <!-- 允许JVM参数覆盖 --> <property name="systemPropertiesModeName" value="SYSTEM_PROPERTIES_MODE_OVERRIDE" /> <!-- 忽略没有找到的资源文件 --> <property name="ignoreResourceNotFound" value="true" /> <!-- 加载jdbc资源文件 --> <property name="locations"> <list> <value>classpath:jdbc.properties</value> </list> </property> </bean> <bean id="hikariConfig" class="com.zaxxer.hikari.HikariConfig"> <!--poolName属性自定义即可--> <property name="poolName" value="springHikariCP" /> <property name="dataSourceClassName" value="${jdbc.driver}" /> <property name="maximumPoolSize" value="20"/> <property name="dataSourceProperties"> <props> <prop key="url">${jdbc.url}</prop> <prop key="user">${jdbc.username}</prop> <prop key="password">${jdbc.password}</prop> </props> </property> </bean> <!-- HikariCP dataSource配置 --> <bean id="dataSource" class="com.zaxxer.hikari.HikariDataSource" destroy-method="close"> <constructor-arg ref="hikariConfig" /> </bean>
更多资料请点击:HikariCP连接池属性介绍与使用