孤燈野火
          暢想的天空
          posts - 2,comments - 4,trackbacks - 0
           

          jdbc.properties配置文件

          jdbc.driverClassName=com.ibm.db2.jcc.DB2Driver

          #---------------------------------------------------

          DEVELOP DATABASE

          jdbc.url=jdbc:db2://10.10.0.163:50000/MACRODB

          #jdbc.url=jdbc:db2://10.10.0.154:50000/SAMPLE

          #---------------------------------------------------

          #TEST DATABASE

          #jdbc.url=jdbc:oracle:thin:@192.168.1.100:1521:orcl

          #---------------------------------------------------

          #LOCALHOST DATABASE

          #jdbc.url=jdbc:oracle:thin:@127.0.0.1:1521:orcl

          #jdbc.username=db2inst1

          #jdbc.password=db2inst1

          jdbc.username=db2inst1

          jdbc.password=123456

          c3p0.acquireIncrement=3

          c3p0.initialPoolSize=3

          c3p0.minPoolSize=10

          c3p0.maxPoolSize=15

          c3p0.maxIdleTime=30

          c3p0.idleConnectionTestPeriod=30

          c3p0.maxStatements=100

          c3p0.numHelperThreads=50

          c3p0.checkoutTimeout=0

          c3p0.validate=true

          讀取配置文件:

          package com.nci.macrodb.core.sql;

          import java.util.ResourceBundle;

          /**

           *取得資源文件

           *

           *@authorldw

           *

           */

          publicclass C3P0SystemConfig {

              static String configFile = "spring/jdbc";//根據(jù)具體配置文件名稱配置

              /**

               *根據(jù)屬性名得到資源屬性

               *

               *@paramitemIndex

               *@return

               */

              publicstatic String getConfigInfomation(String itemIndex) {

                 try {

                     ResourceBundle resource = ResourceBundle.getBundle(configFile);

                     return resource.getString(itemIndex);

                 } catch (Exception e) {

                     return"";

                 }

              }

          }



          獲得連接:

          package com.nci.macrodb.core.sql;

          import java.sql.Connection;
          import java.sql.SQLException;

          import com.mchange.v2.c3p0.ComboPooledDataSource;

          /**
           * 編程調(diào)用c3p0
           *
           * @author xuhua
           *
           */
          public class C3P0DBConnectionManager {
           private static ComboPooledDataSource cpds = null;

           /**
            * 初始化
            */
           public static void init() {
            // 建立數(shù)據(jù)庫(kù)連接池
            String DRIVER_NAME = C3P0SystemConfig
              .getConfigInfomation("jdbc.driverClassName"); // 驅(qū)動(dòng)器
            String DATABASE_URL = C3P0SystemConfig.getConfigInfomation("jdbc.url"); // 數(shù)據(jù)庫(kù)連接url
            String DATABASE_USER = C3P0SystemConfig
              .getConfigInfomation("jdbc.username"); // 數(shù)據(jù)庫(kù)用戶名
            String DATABASE_PASSWORD = C3P0SystemConfig
              .getConfigInfomation("jdbc.password"); // 數(shù)據(jù)庫(kù)密碼
            int Min_PoolSize = 5;
            int Max_PoolSize = 50;
            int Acquire_Increment = 5;
            int Initial_PoolSize = 10;
            // 每隔3000s測(cè)試連接是否可以正常使用
            int Idle_Test_Period = 3000;
            // 每次連接驗(yàn)證連接是否可用
            String Validate = C3P0SystemConfig.getConfigInfomation("c3p0.validate");
            if (Validate.equals("")) {
             Validate = "false";
            }
            // 最小連接數(shù)
            try {
             Min_PoolSize = Integer.parseInt(C3P0SystemConfig
               .getConfigInfomation("c3p0.minPoolSize"));
            } catch (Exception ex) {
             ex.printStackTrace();
            }
            // 增量條數(shù)
            try {
             Acquire_Increment = Integer.parseInt(C3P0SystemConfig
               .getConfigInfomation("c3p0.acquireIncrement"));
            } catch (Exception ex) {
             ex.printStackTrace();
            }
            // 最大連接數(shù)
            try {
             Max_PoolSize = Integer.parseInt(C3P0SystemConfig
               .getConfigInfomation("c3p0.maxPoolSize"));
            } catch (Exception ex) {
             ex.printStackTrace();
            }
            // 初始化連接數(shù)
            try {
             Initial_PoolSize = Integer.parseInt(C3P0SystemConfig
               .getConfigInfomation("c3p0.initialPoolSize"));
            } catch (Exception ex) {
             ex.printStackTrace();
            }
            // 每隔Idle_Test_Period s測(cè)試連接是否可以正常使用
            try {
             Idle_Test_Period = Integer.parseInt(C3P0SystemConfig
               .getConfigInfomation("c3p0.idleConnectionTestPeriod"));
            } catch (Exception ex) {
             ex.printStackTrace();
            }

            try {
             cpds = new ComboPooledDataSource();
             cpds.setDriverClass(DRIVER_NAME); // 驅(qū)動(dòng)器
             cpds.setJdbcUrl(DATABASE_URL); // 數(shù)據(jù)庫(kù)url
             cpds.setUser(DATABASE_USER); // 用戶名
             cpds.setPassword(DATABASE_PASSWORD); // 密碼
             cpds.setInitialPoolSize(Initial_PoolSize); // 初始化連接池大小
             cpds.setMinPoolSize(Min_PoolSize); // 最少連接數(shù)
             cpds.setMaxPoolSize(Max_PoolSize); // 最大連接數(shù)
             cpds.setAcquireIncrement(Acquire_Increment); // 連接數(shù)的增量
             cpds.setIdleConnectionTestPeriod(Idle_Test_Period); // 測(cè)連接有效的時(shí)間間隔
             cpds.setTestConnectionOnCheckout(Boolean.getBoolean(Validate)); // 每次連接驗(yàn)證連接是否可用
            } catch (Exception ex) {
             ex.printStackTrace();
            }
           }

           /**
            * 取得鏈接
            *
            * @return
            */
           public static Connection getConnection() {
            Connection connection = null;
            try {// 保證只進(jìn)行一次初始化
             if (cpds == null) {
              init();
             }
             // 取得connection
             connection = cpds.getConnection();
            } catch (SQLException ex) {
             ex.printStackTrace();
            }
            return connection;
           }

           /**
            * 釋放連接
            */
           public static void release() {
            try {
             if (cpds != null) {
              cpds.close();
             }
            } catch (Exception ex) {
             ex.printStackTrace();
            }
           }

          }


          posted on 2009-12-11 22:33 孤飛燕 閱讀(1784) 評(píng)論(0)  編輯  收藏 所屬分類: Java
          主站蜘蛛池模板: 息烽县| 九台市| 神木县| 盐边县| 福清市| 安仁县| 三江| 昌江| 宽城| 邵东县| 淮南市| 龙门县| 留坝县| 天全县| 太仆寺旗| 清丰县| 广汉市| 精河县| 托克托县| 高淳县| 元朗区| 甘洛县| 灵山县| 衡东县| 吉水县| 葫芦岛市| 丰台区| 石嘴山市| 太保市| 夏津县| 长春市| 滨州市| 乃东县| 满城县| 三门县| 安丘市| 民权县| 当雄县| 马边| 清苑县| 瓦房店市|