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

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

 更新時(shí)間:2016年03月24日 14:26:40   作者:夾克鵬  
這篇文章主要介紹了擴(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ù)連接信息配置:

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

實(shí)現(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使用產(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ì)有所幫助。

相關(guān)文章

  • SpringBoot整合LDAP的流程分析

    SpringBoot整合LDAP的流程分析

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

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

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

    Struts2截取字符串代碼介紹

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

    mybatis動(dòng)態(tài)生成sql語(yǔ)句的實(shí)現(xiàn)示例

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

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

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

    Effective Java 在工作中的應(yīng)用總結(jié)

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

    SpringShell命令行之交互式Shell應(yīng)用開(kāi)發(fā)方式

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

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

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

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

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

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

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

最新評(píng)論

河源市| 崇信县| 微博| 武山县| 金昌市| 剑河县| 陆河县| 澄城县| 长泰县| 岑巩县| 罗城| 东山县| 保德县| 灌云县| 安顺市| 通州区| 青岛市| 武邑县| 科技| 菏泽市| 澳门| 清镇市| 左云县| 南城县| 长沙县| 巧家县| 南宁市| 永德县| 于都县| 辽阳市| 巴南区| 夏邑县| 莱阳市| 镇远县| 开原市| 武清区| 卓资县| 武功县| 邯郸县| 夏邑县| 合肥市|