【數據庫】java連接jdbc 釋放資源

 


/*
 *   編寫快速 入門的jdbc 程序 :
 *  
 *    1. 先導入 具體的驅動jar包
 *    2. 編寫一個類 , 寫jdbc 的程序
 *
 *  具體的編寫 java類的 代碼的步驟:
 *   
 *   第一步: 註冊驅動 --- 告訴 具體的要操做的是那個 數據庫
 *   第二步: 創建與 數據庫的連接---Connection
 *   第三步: 得到能夠發送  sql 語句的 statement 對象
 *   第四步: 執行sql 語句, 拿到 結果集對象
 *   第五步: 解析結果集中的數據
 *   第六步: 釋放資源
 *
 */html

 

@Test
 public void test2() {
  
  Connection conn = null;
  Statement stmt = null;
  ResultSet rs = null;
  try {
   // 第一步: 註冊驅動
//   DriverManager.registerDriver(new Driver());
   
   //這裏 原本是 加載字節碼, 可是 加載字節碼的 時候 又 會執行 這個Driver類的靜態代碼快, 而靜態代碼塊 有完成了驅動的註冊, 因此
   // 這行代碼 就是那麼巧 ...
   Class.forName("com.mysql.jdbc.Driver");
   
   // 第二步: 創建與 數據庫的連接
   //  http://localhost:8080/day15/1.html
   
   //一般 能夠簡寫 爲 :  jdbc:mysql:///day15_jdbc
   conn = DriverManager.getConnection("jdbc:mysql:///day15_jdbc", "root", "abc");
   
   
   
   // 第三步:得到能夠發送  sql 語句的 statement 對象
   
   stmt = conn.createStatement();
   
   // 第四步: 執行sql 語句, 拿到 結果集對象
   // rs , 就封裝了這個查詢的結果
   rs = stmt.executeQuery("select * from users");
   
   // 第五步: 解析結果集中的數據
   while(rs.next()){
    
    int id = rs.getInt("id");
    String username = rs.getString("username");
    String password = rs.getString("password");
    String nickname = rs.getString("nickname");
    
    System.out.println("id: " + id+",username : " + username+", password : " + password +", nickname : " + nickname);
   }
   
   
  } catch (Exception e) {
   e.printStackTrace();
  }finally{
//   第六步: 釋放資源  --- 因爲 數據庫 連接很是的稀缺, 因此 在 操做完成後,記得釋放資源 , 都會放到 finally 代碼塊 中
   
   if(rs!=null){
    try {
     rs.close();
    } catch (SQLException e) {
     e.printStackTrace();
    }
    rs =null;
   }
   
   if(stmt!=null){
    try {
     stmt.close();
    } catch (SQLException e) {
     e.printStackTrace();
    }
    stmt=null;
   }
   
   if(conn!=null){
    try {
     conn.close();
    } catch (SQLException e) {
     e.printStackTrace();
    }
    conn=null;
   }
   
  }
 }
 java

相關文章
相關標籤/搜索