孤燈野火
          暢想的天空
          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";//根據具體配置文件名稱配置

              /**

               *根據屬性名得到資源屬性

               *

               *@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;

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

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

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

           /**
            * 取得鏈接
            *
            * @return
            */
           public static Connection getConnection() {
            Connection connection = null;
            try {// 保證只進行一次初始化
             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) 評論(0)  編輯  收藏 所屬分類: Java
          主站蜘蛛池模板: 历史| 泗水县| 吴桥县| 麻江县| 兴义市| 石棉县| 荣昌县| 灵山县| 磐安县| 会宁县| 郁南县| 抚宁县| 大方县| 泰州市| 资兴市| 彰化市| 将乐县| 比如县| 东丰县| 泰宁县| 郑州市| 江口县| 北流市| 旬邑县| 江达县| 湛江市| 黄梅县| 淅川县| 深圳市| 龙南县| 昌黎县| 武定县| 梓潼县| 延寿县| 家居| 大渡口区| 伽师县| 农安县| 永德县| 类乌齐县| 漳平市|