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

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

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

    2008年10月23日 #

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

    c3p0很容易使用的開源專業(yè)級jdbc數(shù)據(jù)庫緩沖池。
    它是sourceforge上的一個開源項目,
    項目在
    http://sourceforge.net/projects/c3p0
    他的眾多特性這里就不一一介紹了。
    比較爽的一點就是
    當(dāng)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 @ 2008-10-23 10:24 金家寶 閱讀(4357) | 評論 (2)編輯 收藏

    JDBC也分2.0和3.0?

    如題。研究中...以前沒有注意過。

    posted @ 2008-10-23 10:10 金家寶 閱讀(301) | 評論 (0)編輯 收藏

    主站蜘蛛池模板: 一区二区三区在线免费观看视频| 亚洲A∨无码一区二区三区| a级亚洲片精品久久久久久久| 亚洲熟女综合色一区二区三区| 波多野结衣在线免费视频| 久久亚洲国产成人精品性色| 久久亚洲AV成人无码| 日韩免费人妻AV无码专区蜜桃 | 亚洲人成色77777在线观看| 九九视频高清视频免费观看| 亚洲国产成人精品女人久久久| 亚洲精品成人av在线| 色噜噜的亚洲男人的天堂| 国产一区二区三区免费视频| 曰批免费视频播放免费| 亚洲最大av无码网址| 亚洲第一第二第三第四第五第六 | 亚洲精品国产免费| 亚洲国产精品综合久久网各| 毛片高清视频在线看免费观看| 亚洲真人无码永久在线| 亚洲av一综合av一区| 中文字幕天天躁日日躁狠狠躁免费| 亚洲日本视频在线观看| 青青草国产免费久久久下载| 亚洲电影一区二区三区| 一二三四免费观看在线视频中文版 | 亚洲国产成人高清在线观看| 国产亚洲人成在线影院| 成人免费视频一区二区三区| 免费看内射乌克兰女| 久久国产亚洲观看| 妞干网免费视频观看| 国产成人自产拍免费视频| 亚洲高清中文字幕| 午夜视频在线在免费| 亚洲免费人成在线视频观看 | 99re6在线视频精品免费| 亚洲成a人片在线观| 亚洲一区二区高清| 99无码人妻一区二区三区免费|