最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時間:2016年03月24日 14:26:40   作者:夾克鵬  
這篇文章主要介紹了擴展Hibernate使用自定義數(shù)據庫連接池的方法,涉及Hibernate數(shù)據庫操作擴展的相關技巧,需要的朋友可以參考下

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

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

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

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

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

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

實現(xiàn)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{
@Override
public void close() throws HibernateException {
}
@Override
public void closeConnection(Connection connection) throws SQLException {
    //關閉連接
    ConnectionManager.close(connection);
}
@Override
public void configure(Properties properties) throws HibernateException {
}
@Override
public Connection getConnection() throws SQLException {
    //使用產品的數(shù)據庫連接池獲取連接
    return ConnectionManager.getConnection();
}
@Override
public boolean supportsAggressiveRelease() {
    return false;
}

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

相關文章

  • SpringBoot整合LDAP的流程分析

    SpringBoot整合LDAP的流程分析

    這篇文章主要介紹了SpringBoot整合LDAP的流程分析,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-05-05
  • java非法字符‘\ufeff‘解決方法

    java非法字符‘\ufeff‘解決方法

    本文主要介紹了java非法字符‘\ufeff‘解決方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-07-07
  • Struts2截取字符串代碼介紹

    Struts2截取字符串代碼介紹

    這篇文章主要介紹了Struts2截取字符串代碼介紹,介紹了基本的截取方法,以及截取帶html標簽字符串的方法,需要的朋友可以了解下。
    2017-09-09
  • mybatis動態(tài)生成sql語句的實現(xiàn)示例

    mybatis動態(tài)生成sql語句的實現(xiàn)示例

    在MyBatis中,動態(tài)SQL是一個非常重要的特性,它允許我們根據條件動態(tài)地生成SQL語句,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2024-11-11
  • mybatis?獲取更新(update)記錄的id之<selectKey>用法說明

    mybatis?獲取更新(update)記錄的id之<selectKey>用法說明

    這篇文章主要介紹了mybatis?獲取更新(update)記錄的id之<selectKey>用法說明,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-05-05
  • Effective Java 在工作中的應用總結

    Effective Java 在工作中的應用總結

    《Effective Java》是一本經典的 Java 學習寶典,值得每位 Java 開發(fā)者閱讀。下面文章即是將書中和平日工作較密切的知識點做了部分總結,需要的朋友可以參考下
    2021-09-09
  • SpringShell命令行之交互式Shell應用開發(fā)方式

    SpringShell命令行之交互式Shell應用開發(fā)方式

    本文將深入探討Spring Shell的核心特性、實現(xiàn)方式及應用場景,幫助開發(fā)者掌握這一強大工具,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2025-04-04
  • 使用mongoTemplate實現(xiàn)多條件加分組查詢方式

    使用mongoTemplate實現(xiàn)多條件加分組查詢方式

    這篇文章主要介紹了使用mongoTemplate實現(xiàn)多條件加分組查詢方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-06-06
  • struts2過濾器和攔截器的區(qū)別分析

    struts2過濾器和攔截器的區(qū)別分析

    這篇文章主要介紹了struts2過濾器和攔截器的區(qū)別,簡單分析了struts2框架中過濾器和攔截器的概念與相關使用區(qū)別,需要的朋友可以參考下
    2016-04-04
  • Spring?Boot?集成接口管理工具?Knife4j

    Spring?Boot?集成接口管理工具?Knife4j

    這篇文章主要介紹了Spring?Boot?集成接口管理工具?Knife4j,首先通過創(chuàng)建一個?Spring?Boot?項目展開主題,需要的小伙伴可以參考一下
    2022-05-05

最新評論

师宗县| 三都| 武穴市| 丽水市| 五河县| 浦县| 华安县| 安新县| 新竹县| 周口市| 枣庄市| 封丘县| 交口县| 宁城县| 麻城市| 铜山县| 鄂尔多斯市| 胶南市| 布拖县| 双城市| 湖口县| 天全县| 临安市| 金阳县| 徐汇区| 溧阳市| 三门峡市| 崇明县| 小金县| 噶尔县| 昌吉市| 崇礼县| 淮阳县| 黄浦区| 齐齐哈尔市| 三门县| 濮阳县| 苏尼特右旗| 钟祥市| 湘潭市| 玛纳斯县|