hibernate使用c3p0數(shù)據(jù)源
來源:程序員人生 發(fā)布時間:2014-10-12 19:56:31 閱讀次數(shù):2412次
在配置好hibernate連接數(shù)據(jù)庫環(huán)境的前提下,我們進行如下操作就可以搭建好hibernate中使用c3p0數(shù)據(jù)源的環(huán)境了。
1). 導入 jar 包:
hibernate-release-4.2.4.Finalliboptionalc3p0*.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: 數(shù)據(jù)庫連接池的最大連接數(shù)
hibernate.c3p0.min_size: 數(shù)據(jù)庫連接池的最小連接數(shù)
hibernate.c3p0.acquire_increment: 當數(shù)據(jù)庫連接池中的連接耗盡時, 同一時刻獲取多少個數(shù)據(jù)庫連接
hibernate.c3p0.timeout: 數(shù)據(jù)庫連接池中連接對象在多長時間沒有使用過后,就應該被銷毀
hibernate.c3p0.idle_test_period: 表示連接池檢測線程多長時間檢測一次池內(nèi)的所有鏈接對象是否超時.
連接池本身不會把自己從連接池中移除,而是專門有一個線程按照一定的時間間隔來做這件事,
這個線程通過比較連接對象最后一次被使用時間和當前時間的時間差來和 timeout 做對比,進而決定是否銷毀這個連接對象。
hibernate.c3p0.max_statements: 緩存 Statement 對象的數(shù)量
下面是加入配置的原版代碼:
下面代碼添加在hibernate.cfg.xml文件中
</pre><pre name="code" class="html"><!-- 配置c3p0數(shù)據(jù)源 -->
<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>
我們可以通過編寫測試用例來查看是否搭建成功:
創(chuàng)建junit測試用例,在測試用例中復寫dowork方法來調(diào)用jdbc中的connection對象,然后打印出來
@Test
public void testDoWork(){
session.doWork(new Work() {
@Override
public void execute(Connection connection) throws SQLException {
System.out.println(connection);
//調(diào)用存儲過程.
}
});
}
若打印了的出現(xiàn)了下面帶有c3p0的代碼就表示現(xiàn)在已經(jīng)搭建成功。
com.mchange.v2.c3p0.impl.NewProxyConnection@5848ddac
生活不易,碼農(nóng)辛苦
如果您覺得本網(wǎng)站對您的學習有所幫助,可以手機掃描二維碼進行捐贈