首页 > 代码库 > hibernate使用c3p0数据源
hibernate使用c3p0数据源
在配置好hibernate连接数据库环境的前提下,我们进行如下操作就可以搭建好hibernate中使用c3p0数据源的环境了。
1). 导入 jar 包:
hibernate-release-4.2.4.Final\lib\optional\c3p0\*.jar(这里面一般有3个jar包 )
c3p0-0.9.2.1.jar
hibernate-c3p0-4.2.15.Final.jar
mchange-commons-java-0.2.3.4.jar
2). 加入配置(hibernate.cfg.xml文件中添加):
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 对象的数量
下面是加入配置的原版代码:
下面代码添加在hibernate.cfg.xml文件中
</pre><pre name="code" class="html"><!-- 配置c3p0数据源 --> <property name="hibernate.c3p0.max_size">10</property> <property name="hibernate.c3p0.min_size">2</property> <property name="c3p0.acquire_increment">2</property> <property name="c3p0.idle_test_period">2000</property> <property name="c3p0.timeout">2000</property> <property name="c3p0.max_statements">10</property>
我们可以通过编写测试用例来查看是否搭建成功:
创建junit测试用例,在测试用例中复写dowork方法来调用jdbc中的connection对象,然后打印出来
@Test public void testDoWork(){ session.doWork(new Work() { @Override public void execute(Connection connection) throws SQLException { System.out.println(connection); //调用存储过程. } }); }
com.mchange.v2.c3p0.impl.NewProxyConnection@5848ddac
hibernate使用c3p0数据源
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。