spring引入HikariCP连接池所需jar包(点击下载)
一、导入jar包
二、applicationContext.xml中配置
- 准备连接池配置文件(db.properties) ,测试代码如下(更对hikari的属性见https://github.com/brettwooldridge/HikariCP/tree/2.3.x#essentials)
jdbc.Url=jdbc:mysql://localhost:3306/hikaritest
jdbc.driverClass=com.mysql.jdbc.Driver
jdbc.username=root
jdbc.password=123
jdbc.maximumPoolSize=15
jdbc.poolName=hikariPool
jdbc.idleTimeout=60000
jdbc.connectionTimeout=30000
2.配置applicationContext.xml,注入hikari(在<beans>中添加一下代码</beans>)
<!-- 获取连接池配置文件 -->
<context:property-placeholder location="classpath:db.properties"/>
<!-- 注入hikari连接池 -->
<bean id="hikariConfig" class="com.zaxxer.hikari.HikariConfig">
<!-- 根据hikari的GitHub手册,这是DataSourceJDBC驱动程序提供的类的名称。请参阅特定JDBC驱动程序的文档以获取此类名,或参见下表。注意不支持XA数据源。XA需要像bitronix这样的真正的事务管理器 。
请注意,如果您使用的jdbcUrl是“old-school”基于DriverManager的JDBC驱动程序配置,则不需要此属性 -->
<!-- <property name="dataSourceClassName" value="com.mysql.jdbc.jdbc2.optional.MysqlDataSource"></property>-->
<property name="maximumPoolSize" value="${jdbc.maximumPoolSize}" />
<!-- 主要显示在日志记录和JMX管理控制台中,以标识池和池配置 -->
<property name="poolName" value="${jdbc.poolName}"></property>
<property name="idleTimeout" value="${jdbc.idleTimeout}" />
<property name="jdbcUrl" value="${jdbc.Url}"></property>
<!-- name值不能写user,特定属性 -->
<property name="connectionTimeout" value="${jdbc.connectionTimeout}"></property>
<property name="username" value="${jdbc.username}" />
<property name="password" value="${jdbc.password}" />
</bean>
<bean name="hikariDataSource" class="com.zaxxer.hikari.HikariDataSource" destroy-method="close">
<constructor-arg ref="hikariConfig"></constructor-arg>
</bean>
3.dao层这里用的spring中的jdbcDaoSuper,可以直接通过super.getJdbcTemplate()方法获得数据源,省略spring的jdbcTemplate
public class UserDao extends JdbcDaoSupport {
public void save(User user) {
String sql = "insert into t_user values(?,null)";
super.getJdbcTemplate().update(sql, user.getName());
}
}
4.测试连接池,所用的jar包(点击下载)
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration("classpath:applicationContext.xml")
public class Demo {
@Resource(name="userDao")
private UserDao ud;
@Test
public void function() {
User user = new User();
user.setName("tom");
ud.save(user);
}
5.测试结果,添加成功
注:该博客为学习笔记,如有错误,还请指出,感谢!欢迎留言