程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> 擴大Hibernate應用自界說數據庫銜接池的辦法

擴大Hibernate應用自界說數據庫銜接池的辦法

編輯:關於JAVA

擴大Hibernate應用自界說數據庫銜接池的辦法。本站提示廣大學習愛好者:(擴大Hibernate應用自界說數據庫銜接池的辦法)文章只能為提供參考,不一定能成為您想要的結果。以下是擴大Hibernate應用自界說數據庫銜接池的辦法正文


本文實例講述了擴大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{
@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 {
    //應用產物的數據庫銜接池獲得銜接
    return ConnectionManager.getConnection();
}
@Override
public boolean supportsAggressiveRelease() {
    return false;
}

願望本文所述對年夜家基於Hibernate框架的Java法式設計有所贊助。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved