spring运用hikari连接池

spring引入HikariCP连接池所需jar包(点击下载)

一、导入jar包

二、applicationContext.xml中配置

  1.      准备连接池配置文件(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.测试结果,添加成功

注:该博客为学习笔记,如有错误,还请指出,感谢!欢迎留言 

猜你喜欢

转载自blog.csdn.net/yhblog/article/details/82799783
今日推荐