<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    java 數(shù)據(jù)庫緩沖池 使用c3p0

    c3p0很容易使用的開源專業(yè)級jdbc數(shù)據(jù)庫緩沖池。
    它是sourceforge上的一個開源項目,
    項目在
    http://sourceforge.net/projects/c3p0
    他的眾多特性這里就不一一介紹了。
    比較爽的一點就是
    當Connection歸還緩沖池時,c3p0會很小心的關(guān)閉
    這條連接打開的Statement和ResultSet,免去了使用時
    自己動手小心翼翼的關(guān)閉。

    c3p0使用非常簡單,這里給一個例子

    package common.db;

    import java.sql.Connection;
    import java.sql.SQLException;
    import java.util.Properties;


    import com.mchange.v2.c3p0.ComboPooledDataSource;
    import com.mchange.v2.c3p0.DataSources;

    public final class ConnectionManager {
    ?private static ConnectionManager instance;
    ?
    ?public ComboPooledDataSource ds;
    ?private static String c3p0Properties="c3p0.properties";
    ?
    ?private ConnectionManager() throws Exception {
    ??Properties p = new Properties();
    ??p.load(this.getClass().getResourceAsStream(c3p0Properties));
    ??ds = new ComboPooledDataSource();
    ?}
    ?
    ?public static final ConnectionManager getInstance() {
    ??if (instance == null) {
    ???try {
    ????instance = new ConnectionManager();
    ???} catch (Exception e) {
    ????e.printStackTrace();
    ???}
    ??}
    ??return instance;
    ?}
    ?
    ?public synchronized final Connection getConnection() {
    ??try {
    ???return ds.getConnection();
    ??} catch (SQLException e) {
    ???e.printStackTrace();
    ??}
    ??return null;
    ?}

    ?protected void finalize() throws Throwable {
    ??DataSources.destroy(ds);?//關(guān)閉datasource
    ??super.finalize();
    ?}
    ?
    }

    然后在ConnectionManager類的目錄下再創(chuàng)建一個配置文件c3p0.properties
    內(nèi)容如下:
    #db login parameters
    driverClass=com.mysql.jdbc.Driver
    jdbcUrl=jdbc:mysql://localhost/test?useUnicode=no&characterEncoding=GBK
    user=test
    password=test

    #pool parameters
    initialPoolSize=2
    maxPoolSize=5
    #maxIdleTime=10
    #idleConnectionTestPeriod=5
    autoCommitOnClose=true

    完整的配置文件參數(shù)參看c3p0的文檔

    使用connection時很簡單
    Connection conn = ConnectionManager.getInstance().getConnection();
    ...
    最后 conn.close() 即可,

    posted on 2008-10-23 10:24 金家寶 閱讀(4346) 評論(2)  編輯  收藏

    評論

    # re: java 數(shù)據(jù)庫緩沖池 使用c3p0 2009-01-10 10:23 John.Yu

    lz,的代碼不錯,但你的 ds沒有propertey  回復(fù)  更多評論   

    # re: java 數(shù)據(jù)庫緩沖池 使用c3p0 2009-01-12 09:38 roc

    樓主還沒看到樓上的回復(fù),,  回復(fù)  更多評論   


    只有注冊用戶登錄后才能發(fā)表評論。


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 亚洲精品V天堂中文字幕| 永久黄网站色视频免费观看| 亚洲国产精品嫩草影院| 亚洲AV美女一区二区三区| 成人伊人亚洲人综合网站222| 久久免费看黄a级毛片| 中文字幕在线观看免费| 99亚洲精品卡2卡三卡4卡2卡| 亚洲男人天堂影院| 午夜亚洲AV日韩AV无码大全| 亚洲无码视频在线| 免费观看国产小粉嫩喷水| 久久久久国产精品免费免费搜索| 免费国产成人午夜在线观看| 无码日韩人妻AV一区免费l| 亚洲乱码无人区卡1卡2卡3| 亚洲videos| 亚洲国产美女在线观看| 婷婷亚洲久悠悠色悠在线播放| 91麻豆国产自产在线观看亚洲| 国产午夜无码视频免费网站| 最新中文字幕电影免费观看| AV大片在线无码永久免费| 最近中文字幕高清免费中文字幕mv | 成人免费毛片观看| 亚洲免费中文字幕| 亚洲大片免费观看| 免费无码毛片一区二区APP| 在线涩涩免费观看国产精品| 中文字幕免费观看全部电影| 一级特黄aaa大片免费看| 成人a毛片视频免费看| 黄色一级毛片免费| 男女男精品网站免费观看| 美美女高清毛片视频黄的一免费 | 特级无码毛片免费视频尤物| 无码国产精品一区二区免费vr | 亚洲视频在线免费| 久久久久一级精品亚洲国产成人综合AV区| 免费一级特黄特色大片在线| 免费a级毛片永久免费|