JAVA使用JDBC方式連接數據庫


開發一個JDBC應用程序,基本需要以下幾個步驟:

1.把JDBC驅動類裝載入JAVA虛擬機中。使用java.lang.Class類的靜態方法forName(String  className)實現。

例: Class.forName("JDBC驅動類名稱") 

2.加載驅動,並與數據庫建立連接。DriverManager類跟着已注冊的驅動程序,當我們調用getConnection()方法時,它會遍歷驅動程序列表,直到匹配上一個能夠連接至數據連接字符串中指定的數據庫的驅動程序,加載此驅動程序后,使用DriverManager類的getConnection方法建立與數據庫之間的連接。

例:

Connection con = DriverManager.getConnection(數據庫連接字符串,數據庫用戶名,密碼)

3.發送SQL語句並得到結果集。創建一個Statement接口的實例,並將SQL語句傳遞給它所連接的數據庫。

 Statement實例分為3種類型:

 (1)執行靜態SQL語句。通常通過Statement實例實現。

 (2)執行動態SQL語句。通常通過PreparedStatement實例實現。

 (3)執行數據庫存儲過程。通常通過CallableStatement實例實現。

例:

Statement stmt = con.createStatement();
ResultSet rs = stmt.executeQuery("select * from table1");

 Statement接口提供了三種執行SQL語句的方法:executeQuery 、executeUpdate ,execute 語句。

  1. ResultSet executeQuery(String sqlString):執行查詢數據庫的SQL語句 並返回一個結果集(ResultSet)對象。
  2. int executeUpdate(String sqlString):用於執行INSERT、UPDATE或DELETE語句以及SQL DDL語句,如:CREATE TABLE和DROP TABLE等 
  3. execute(sqlString):用於執行返回多個結果集、多個更新計數或二者組合的語句。

  例:

ResultSet rs = stmt.executeQuery("SELECT * FROM ...") ;   
int rows = stmt.executeUpdate("INSERT INTO ...") ;   
boolean flag = stmt.execute(String sql) ;   

 

4.處理結果。處理結果分為兩種情況:

(1)執行更新返回的是本次操作影響到的記錄數。

 (2)  執行查詢返回的結果是一個ResultSet對象。

例:

while(rs.next()){
         int x=rs.getInt("a");
         String s=rs.getString("b");
         float f=rs.getFloat("c");  
}

5.關閉JDBC對象

  操作完成后,要關閉所有使用的JDBC對象,以釋放JDBC資源,關閉順序和聲明順序相反。

 (1) 關閉記錄集

 (2) 關閉聲明

 (3) 關閉連接對象

 if(rs != null){   // 關閉記錄集   
        try{   
            rs.close() ;   
        }catch(SQLException e){   
            e.printStackTrace() ;   
        }   
          }   
          if(stmt != null){   // 關閉聲明   
        try{   
            stmt.close() ;   
        }catch(SQLException e){   
            e.printStackTrace() ;   
        }   
          }   
          if(conn != null){  // 關閉連接對象   
         try{   
            conn.close() ;   
         }catch(SQLException e){   
            e.printStackTrace() ;   
         }   
          }  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM