概念:
JDBC(Java DataBase Connectivity)是一種數據庫連接技術,
能實現Java程序對各種數據庫的訪問。由一組使用Java語言編寫的類和接口(JDBC API)
組成,他們位於java.sql以及javax.sql中。
作用:
1.建立與數據庫的訪問連接。
2.將編寫好的SQL語句發送到數據庫執行。
3.對數據庫返回的執行結果進行處理。
JDBC API工作的四個環節:
1.DriverManager類:依據數據庫的不同,管理JDBC驅動。
2.Connection接口:負責連接數據庫並擔任傳送數據的任務。
3.Statement接口:有Connection產生,負責執行SQL語句。
4.ResultSet接口:負責保存Statement執行后所產生的查詢結果。
JDBC訪問數據庫的步驟:
1.使用Class.forName()方法加載JDBC驅動類。
Class.forName("JDBC驅動類的名稱");
如果系統中不存在給定的類,則會引發ClassNotFoundExceptionyichang。
這里需要try..catch..
2.使用DriverManager類獲取數據庫的連接。
Connection connection=DriverManager.getConnection(url,username,password);
DriverManager類跟蹤已注冊的驅動程序,當調用getConnection()方法時,它會
搜索整個驅動程序列表,直到找到能夠連接至數據庫連接字符串中的指定的數據庫
的驅動程序。加載此驅動程序之后,將使用DriverManager類的getConnection()方法
建立與數據庫的連接。
3.創建PreparedStatement/Statement接口的實列,發送SQL語句,
String sql="select * from table";
Statement st=connection.createStatement();
ResultSet rs=st.executeQuery(sql);
這里需要明白一點:Statement 並不執行SQL語句,只是將SQL語句
發送給數據庫,由數據庫來執行SQL語句。
4.處理SQL執行結果,並得到結果集,
執行SQL語句后返回一個結果集ResultSet對象。
處理結果集使用ResultSet對象的next()方法判斷結果集是否包含數據。
在結果集部位空的情況下調用ResultSet的getXxx()方法得到記錄中字段
對應的值。
while(rs.next()){
int id=rs.getInt("id");
String name=rs.getString("name");
}
5.釋放資源
注意事項:
1.先創建的后釋放,后創建的先釋放。
2.將釋放資源放在finally塊中,確保程序最終執行釋放資源的語句。
if(rs!=null){
rs.close();
}
if(st!=null){
st.close();
}
if(connection!=null){
connection.close();
}
這里需要try..catch..