国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Java > 正文

擴展Hibernate使用自定義數據庫連接池的方法

2019-11-26 14:28:43
字體:
來源:轉載
供稿:網友

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

在Hibernate的過程中往往碰到這樣的問題:我們現成的產品本來已使用自有的數據庫連接池,同時使用Hibernate的話在Hibernate配置中也得配置數據庫連接信息,這樣就需要在兩個地方維護數據庫連接信息,維護起來感覺相當別扭。

由于我們不是在產品剛開始開發就加入Hibernate的,所以不合適讓產品直接使用Hibernate的連接池,只好讓Hibernate來使用產品自有的連接池,還好Hibernate已提供了連接池的擴展接口:ConnectionProvider。

Hibernate本身是通過ConnectionProvider接口來實現管理數據庫連接的。例如其自帶的C3P0ConnectionProvider,ProxoolConnectionProvider等,我們編寫一個實現ConnectionProvider接口的類,在Hibernate的配置文件中將相關參數改成該類就OK,相關代碼如下:

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

<!-- 自定義-使用NMS產品的連接池 --><property name="hibernate.connection.provider_class">com.shine.sourcedesk.jbpm.NmsConnectionProvider</property>

實現ConnectionManager接口的類:

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使用產品的ConnectionManager * @author JiangKunpeng * */public class NmsConnectionProvider implements ConnectionProvider{@Overridepublic void close() throws HibernateException {}@Overridepublic void closeConnection(Connection connection) throws SQLException {    //關閉連接    ConnectionManager.close(connection);}@Overridepublic void configure(Properties properties) throws HibernateException {}@Overridepublic Connection getConnection() throws SQLException {    //使用產品的數據庫連接池獲取連接    return ConnectionManager.getConnection();}@Overridepublic boolean supportsAggressiveRelease() {    return false;}

希望本文所述對大家基于Hibernate框架的Java程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 兰考县| 泸水县| 仁布县| 海原县| 桓台县| 莎车县| 开封县| 陆河县| 油尖旺区| 沾化县| 辽宁省| 钟祥市| 新化县| 富宁县| 清镇市| 独山县| 阳新县| 锡林浩特市| 沙雅县| 新沂市| 行唐县| 河源市| 新蔡县| 澄城县| 兴业县| 积石山| 安泽县| 荔波县| 仙游县| 广河县| 乌兰浩特市| 无为县| 浦城县| 张家港市| 卫辉市| 乐亭县| 正蓝旗| 岢岚县| 乌拉特前旗| 德兴市| 五指山市|