乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      JAVA連接、操作數(shù)據(jù)庫(kù)的DBHelper

       鴻蛟家平 2021-07-17
        1 import java.sql.Connection;
        2 import java.sql.DriverManager;
        3 import java.sql.PreparedStatement;
        4 import java.sql.ResultSet;
        5 import java.sql.Statement;
        6 
        7 /**
        8  * 數(shù)據(jù)庫(kù)工具類(lèi),負(fù)責(zé)完成打開(kāi)、關(guān)閉數(shù)據(jù)庫(kù),執(zhí)行查詢或更新
        9  * @author MKing
       10  *
       11  */
       12 public class DbHelper {
       13     /**
       14      * 數(shù)據(jù)庫(kù)URL
       15      */
       16     private static final String URL = "jdbc:mysql://localhost:3306/bookstore";
       17     /**
       18      * 登錄用戶名
       19      */
       20     private static final String USER = "root";
       21     /**
       22      * 登錄密碼
       23      */
       24     private static final String PASSWORD = "12345";
       25     
       26     private static Connection connection = null;
       27     private static Statement statement = null;
       28 
       29     private static DbHelper helper = null;
       30 
       31     static {
       32         try {
       33             Class.forName("com.mysql.jdbc.Driver");
       34         } catch (ClassNotFoundException e) {
       35             e.printStackTrace();
       36         }
       37     }
       38 
       39     private DbHelper() throws Exception {
       40         connection = DriverManager.getConnection(URL, USER, PASSWORD);
       41         statement = connection.createStatement();
       42     }
       43 
       44     /**
       45      * 返回單例模式的數(shù)據(jù)庫(kù)輔助對(duì)象
       46      * 
       47      * @return
       48      * @throws Exception 
       49      */
       50     public static DbHelper getDbHelper() throws Exception {
       51         if (helper == null || connection == null || connection.isClosed())
       52             helper = new DbHelper();
       53         return helper;
       54     }
       55 
       56     /**
       57      * 執(zhí)行查詢
       58      * @param sql 要執(zhí)行的SQL語(yǔ)句
       59      * @return  查詢的結(jié)果集對(duì)象
       60      * @throws Exception
       61      */
       62     public ResultSet executeQuery(String sql) throws Exception {
       63         if (statement != null) {
       64             return statement.executeQuery(sql);
       65         }
       66 
       67         throw new Exception("數(shù)據(jù)庫(kù)未正常連接");
       68     }
       69 
       70     /**
       71      * 執(zhí)行查詢
       72      * @param sql  要執(zhí)行的帶參數(shù)的SQL語(yǔ)句
       73      * @param args  SQL語(yǔ)句中的參數(shù)值
       74      * @return  查詢的結(jié)果集對(duì)象
       75      * @throws Exception
       76      */
       77     public ResultSet executeQuery(String sql, Object...args) throws Exception {
       78         if (connection == null || connection.isClosed()) {
       79             DbHelper.close();
       80             throw new Exception("數(shù)據(jù)庫(kù)未正常連接");
       81         }
       82         PreparedStatement ps = connection.prepareStatement(sql);
       83         int index = 1;
       84         for (Object arg : args) {
       85             ps.setObject(index, arg);
       86             index++;
       87         }
       88         
       89         return ps.executeQuery();
       90     }
       91     
       92     /**
       93      * 執(zhí)行更新
       94      * @param sql  要執(zhí)行的SQL語(yǔ)句
       95      * @return  受影響的記錄條數(shù)
       96      * @throws Exception
       97      */
       98     public int executeUpdate(String sql) throws Exception {
       99         if (statement != null) {
      100             return statement.executeUpdate(sql);
      101         }
      102         throw new Exception("數(shù)據(jù)庫(kù)未正常連接");
      103     }
      104     
      105     /**
      106      * 執(zhí)行更新
      107      * @param sql  要執(zhí)行的SQL語(yǔ)句
      108      * @param args  SQL語(yǔ)句中的參數(shù)
      109      * @return  受影響的記錄條數(shù)
      110      * @throws Exception
      111      */
      112     public int executeUpdate(String sql, Object...args) throws Exception {
      113         if (connection == null || connection.isClosed()) {
      114             DbHelper.close();
      115             throw new Exception("數(shù)據(jù)庫(kù)未正常連接");
      116         }
      117         PreparedStatement ps = connection.prepareStatement(sql);
      118         int index = 1;
      119         for (Object arg : args) {
      120             ps.setObject(index, arg);
      121             index++;
      122         }
      123         return ps.executeUpdate();
      124     }
      125     
      126     /**
      127      * 獲取預(yù)編譯的語(yǔ)句對(duì)象
      128      * @param sql  預(yù)編譯的語(yǔ)句
      129      * @return  預(yù)編譯的語(yǔ)句對(duì)象
      130      * @throws Exception
      131      */
      132     public PreparedStatement prepareStatement(String sql) throws Exception {
      133         return connection.prepareStatement(sql);
      134     }
      135     
      136     /**
      137      * 關(guān)閉對(duì)象,同時(shí)將關(guān)閉連接
      138      */
      139     public static void close() {
      140         try {
      141             if (statement != null)
      142                 statement.close();
      143             if (connection != null) 
      144                 connection.close();
      145         } catch (Exception e) {
      146             e.printStackTrace();
      147         } finally {
      148             helper = null;
      149         }
      150     }
      151 }

        本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買(mǎi)等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
        轉(zhuǎn)藏 分享 獻(xiàn)花(0

        0條評(píng)論

        發(fā)表

        請(qǐng)遵守用戶 評(píng)論公約