本文内容来自尚硅谷
说明大多数配置前面已经讲了,这里重点讲了c3p0数据库连接池属性
下面方法代码都是在Hibernate总结(四)--session缓存中1.4创建的helloworld代码基础上编写代码
1配置文件介绍
2c3p0属性
2.1文字介绍
1. 在 hibernate 中使用 C3P0 数据源:
1). 导入 jar 包:
hibernate-release-4.2.4.Final\lib\optional\c3p0\*.jar
2). 加入配置:
hibernate.c3p0.max_size: 数据库连接池的最大连接数
hibernate.c3p0.min_size: 数据库连接池的最小连接数
hibernate.c3p0.acquire_increment: 当数据库连接池中的连接耗尽时, 同一时刻获取多少个数据库连接
hibernate.c3p0.timeout: 数据库连接池中连接对象在多长时间没有使用过后,就应该被销毁
hibernate.c3p0.idle_test_period: 表示连接池检测线程多长时间检测一次池内的所有链接对象是否超时.
连接池本身不会把自己从连接池中移除,而是专门有一个线程按照一定的时间间隔来做这件事,
这个线程通过比较连接对象最后一次被使用时间和当前时间的时间差来和 timeout 做对比,进而决定是否销毁这个连接对象。
hibernate.c3p0.max_statements: 缓存 Statement 对象的数量
2.2实例
2.2.1配置hibernate.cfg.xml文件
2.2.2在HibernateTest.java中增加一个test
@Test
public void testDoWork(){
session.doWork(new Work() {
@Override
public void execute(Connection connection) throws SQLException {
System.out.println(connection);
//调用存储过程.
}
});
}
输出如下
说明该连接来自c3p0就成功了