一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|

服務(wù)器之家 - 編程語(yǔ)言 - JAVA教程 - 擴(kuò)展Hibernate使用自定義數(shù)據(jù)庫(kù)連接池的方法

擴(kuò)展Hibernate使用自定義數(shù)據(jù)庫(kù)連接池的方法

2020-04-13 11:23夾克鵬 JAVA教程

這篇文章主要介紹了擴(kuò)展Hibernate使用自定義數(shù)據(jù)庫(kù)連接池的方法,涉及Hibernate數(shù)據(jù)庫(kù)操作擴(kuò)展的相關(guān)技巧,需要的朋友可以參考下

本文實(shí)例講述了擴(kuò)展Hibernate使用自定義數(shù)據(jù)庫(kù)連接池的方法。分享給大家供大家參考,具體如下:

在Hibernate的過(guò)程中往往碰到這樣的問(wèn)題:我們現(xiàn)成的產(chǎn)品本來(lái)已使用自有的數(shù)據(jù)庫(kù)連接池,同時(shí)使用Hibernate的話在Hibernate配置中也得配置數(shù)據(jù)庫(kù)連接信息,這樣就需要在兩個(gè)地方維護(hù)數(shù)據(jù)庫(kù)連接信息,維護(hù)起來(lái)感覺(jué)相當(dāng)別扭。

由于我們不是在產(chǎn)品剛開(kāi)始開(kāi)發(fā)就加入Hibernate的,所以不合適讓產(chǎn)品直接使用Hibernate的連接池,只好讓Hibernate來(lái)使用產(chǎn)品自有的連接池,還好Hibernate已提供了連接池的擴(kuò)展接口:ConnectionProvider。

Hibernate本身是通過(guò)ConnectionProvider接口來(lái)實(shí)現(xiàn)管理數(shù)據(jù)庫(kù)連接的。例如其自帶的C3P0ConnectionProvider,ProxoolConnectionProvider等,我們編寫(xiě)一個(gè)實(shí)現(xiàn)ConnectionProvider接口的類,在Hibernate的配置文件中將相關(guān)參數(shù)改成該類就OK,相關(guān)代碼如下:

hibernate.cfg.xml中用以下代碼替代之前的數(shù)據(jù)庫(kù)連接信息配置:

?
1
2
3
4
<!-- 自定義-使用NMS產(chǎn)品的連接池 -->
<property name="hibernate.connection.provider_class">
com.shine.sourcedesk.jbpm.NmsConnectionProvider
</property>

實(shí)現(xiàn)ConnectionManager接口的類:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
package com.shine.sourcedesk.jbpm;
import java.sql.Connection;
import java.sql.SQLException;
import java.util.Properties;
import org.hibernate.HibernateException;
import org.hibernate.connection.ConnectionProvider;
import com.shine.framework.jdbc.ConnectionManager;
/**
 * 自定義Hibernate連接池,讓Hibernate使用產(chǎn)品的ConnectionManager
 * @author JiangKunpeng
 *
 */
public class NmsConnectionProvider implements ConnectionProvider{
@Override
public void close() throws HibernateException {
}
@Override
public void closeConnection(Connection connection) throws SQLException {
    //關(guān)閉連接
    ConnectionManager.close(connection);
}
@Override
public void configure(Properties properties) throws HibernateException {
}
@Override
public Connection getConnection() throws SQLException {
    //使用產(chǎn)品的數(shù)據(jù)庫(kù)連接池獲取連接
    return ConnectionManager.getConnection();
}
@Override
public boolean supportsAggressiveRelease() {
    return false;
}

希望本文所述對(duì)大家基于Hibernate框架的Java程序設(shè)計(jì)有所幫助。

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 国产日韩成人 | 9420高清完整版在线观看国语 | 国产精品久久免费观看 | xxxxxx日本处大片免费看 | 国产精品二区高清在线 | 成年视频在线观看免费 | 日本人做受全过程视频 | 亚洲人成绝费网站色ww | 四虎影院免费视频 | 亚洲精品中文字幕久久久久久 | ysav67| 2023毛片| 色综合天天综合网看在线影院 | 亚洲天堂影视 | 青青草原国产视频 | 欧美操屁股 | 九九精品视频在线免费观看 | 免费看www | 欧美三级不卡在线观线看高清 | 蘑菇香蕉茄子绿巨人丝瓜草莓 | 美女撒尿部位无遮挡 | 波多野结衣女老师 | 妹妹骑上来蹭着蹭着就射了 | 国产v视频 | 亚洲精品九色在线网站 | 国产成人精视频在线观看免费 | 无码11久岁箩筣 | 国产一卡2卡3卡四卡精品网站 | 俺去俺来也www色官网免费的 | 1769亚洲欧美资源站 | 国产欧美一区二区三区免费看 | 成年人免费看的视频 | 久久re这里精品在线视频7 | 久久不射电影网 | 99精品全国免费7观看视频 | 日本一道高清不卡免费 | 国产综合成人亚洲区 | 久久久久综合 | 日本欧美大码a在线视频播放 | 日本红怡院亚洲红怡院最新 | 办公室操秘书 |