隨筆-0  評論-15  文章-10  trackbacks-0

            1 package cn.zbvc.java;
            2 import java.io.InputStream;
            3 import java.sql.Connection;
            4 import java.sql.DriverManager;
            5 import java.sql.ResultSet;
            6 import java.sql.SQLException;
            7 import java.sql.Statement;
            8 import java.util.Properties;
            9 
           10 
           11 public class JDBConnection {
           12     public Connection conn = null// 聲明Connection對象的實例
           13     public Statement stmt = null// 聲明Statement對象的實例
           14     public ResultSet rs = null// 聲明ResultSet對象的實例
           15     
           16     private static String dbClassName = "com.microsoft.jdbc.sqlserver.SQLServerDriver";//定義保存數據庫驅動的變量
           17     private static String dbUrl = "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=DB_ATM";
           18     private static String dbUser = "sa";
           19     private static String dbPwd = "sa";
           20 
           21     public JDBConnection(String propertyFileName) {// 帶屬性文件名的構造方法
           22         Properties prop = new Properties();// 屬性集合對象
           23         InputStream is = null;
           24         try {
           25             is = JDBConnection.class.getClassLoader().getResourceAsStream(
           26                     propertyFileName);// 屬性文件輸入流
           27             // is = new FileInputStream("src/" + propertyFileName);
           28             prop.load(is);// 將屬性文件流裝載到Properties對象中
           29             is.close();// 關閉流
           30             dbClassName = prop.getProperty("dbClassName");
           31             dbUrl = prop.getProperty("dbUrl");
           32             dbUser = prop.getProperty("dbUser");
           33             dbPwd = prop.getProperty("dbPwd");
           34         } catch (Exception e) {
           35             System.out.println("屬性文件  " + propertyFileName + " 打開失敗!");
           36         }
           37         try {
           38 
           39             Class.forName(dbClassName);// 1.注冊驅動
           40         } catch (ClassNotFoundException e) {
           41             e.printStackTrace();
           42         }
           43     }
           44 
           45     public JDBConnection() {// 默認的不帶參數的構造函數
           46         try {
           47 
           48             Class.forName(dbClassName);// 1.注冊驅動
           49         } catch (ClassNotFoundException e) {
           50             e.printStackTrace();
           51         }
           52     }
           53 
           54     public static Connection getConnection() {
           55         Connection conn = null;
           56         try {
           57             // Class.forName(dbClassName);// 1.注冊驅動
           58             conn = DriverManager.getConnection(dbUrl, dbUser, dbPwd);//2.建立與數據庫的鏈接
           59         } catch (Exception ee) {
           60             ee.printStackTrace();
           61         }
           62         if (conn == null) {
           63             System.err
           64                     .println("警告: DbConnectionManager.getConnection() 獲得數據庫鏈接失敗.\r\n\r\n鏈接類型:"
           65                             + dbClassName
           66                             + "\r\n鏈接位置:"
           67                             + dbUrl
           68                             + "\r\n用戶/密碼"
           69                             + dbUser + "/" + dbPwd);
           70         }
           71         return conn;
           72     }
           73 
           74     /*
           75      * 功能:執行查詢語句
           76      */
           77     public ResultSet executeQuery(String sql) {
           78         try { // 捕捉異常
           79             conn = getConnection(); // 調用getConnection()方法構造Connection對象的一個實例conn
           80             stmt = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,//3.創建語句
           81                     ResultSet.CONCUR_READ_ONLY);
           82             rs = stmt.executeQuery(sql);//4.執行查詢
           83         } catch (SQLException ex) {
           84             System.err.println(ex.getMessage()); // 輸出異常信息
           85         }
           86         return rs; // 返回結果集對象 5.結果處理
           87     }
           88 
           89     /*
           90      * 功能:執行更新操作
           91      */
           92     public int executeUpdate(String sql) {
           93         int result = 0// 定義保存返回值的變量
           94         try { // 捕捉異常
           95             conn = getConnection(); // 調用getConnection()方法構造Connection對象的一個實例conn
           96             stmt = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,
           97                     ResultSet.CONCUR_READ_ONLY);
           98             result = stmt.executeUpdate(sql); // 執行更新操作
           99         } catch (SQLException ex) {
          100             result = 0// 將保存返回值的變量賦值為0
          101         }
          102         return result; // 返回保存返回值的變量
          103     }
          104 
          105     /*
          106      * 功能:關閉數據庫的連接
          107      */
          108     public void close() {//6.釋放資源
          109         try { // 捕捉異常
          110             try {
          111                 if (rs != null) { // 當ResultSet對象的實例rs不為空時
          112                     rs.close(); // 關閉ResultSet對象
          113                 }
          114             } finally {
          115                 try {
          116                     if (stmt != null) { // 當Statement對象的實例stmt不為空時
          117                         stmt.close(); // 關閉Statement對象
          118                     }
          119                 } finally {
          120                     if (conn != null) { // 當Connection對象的實例conn不為空時
          121                         conn.close(); // 關閉Connection對象
          122                     }
          123                 }
          124             }
          125         } catch (Exception e) {
          126             e.printStackTrace(System.err); // 輸出異常信息
          127         }
          128     }
          129 
          130 }
          131 
          132 /*
          133  *屬性文件
          134 dbClassName=com.microsoft.jdbc.sqlserver.SQLServerDriver
          135 dbClassName2=com.mysql.jdbc.Driver
          136 dbPwd=sa
          137 dbPwd2=root
          138 dbUrl=jdbc\:microsoft\:sqlserver\://localhost\:1433;DatabaseName\=DB_ATM
          139 dbUrl2=jdbc\:mysql\://localhost\:3306/db_atm
          140 dbUser=sa
          141 dbUser2=root
          142  **/
          posted on 2011-07-10 10:06 呂鵬-Roc 閱讀(2194) 評論(0)  編輯  收藏 所屬分類: Java常用代碼
          主站蜘蛛池模板: 泾川县| 花莲县| 溆浦县| 彰化县| 阳朔县| 竹山县| 塘沽区| 上饶县| 梅河口市| 彭州市| 游戏| 藁城市| 泰宁县| 普安县| 泸定县| 沙雅县| 依兰县| 满城县| 开江县| 桃源县| 抚州市| 云和县| 房产| 桂平市| 平和县| 抚远县| 个旧市| 黄浦区| 房山区| 罗江县| 股票| 文登市| 若尔盖县| 苏尼特右旗| 会同县| 渝中区| 辽宁省| 敦化市| 延吉市| 武义县| 望城县|