1.將數據庫的JDBC驅動加載到classpath中,在基於JavaEE的web應用實際開發過程中通常要把目標數據庫產品的JDBC驅動復制到WEB—INF/lib下。
2.加載JDBC驅動並將其注冊到DriverManager中。
Oracle數據庫
Class.forName("oracle.jdbc.driver.oracleDriver");
SQL數據庫
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
3.建立數據庫連接,取得Connection對象。
SQL 數據庫
String url="jdbc:sqlserve://localhost:1433;databaseName=LiZanQi";
String user="sa";
String password="sa";
Connection conn=DriverManager.getConnection(url,user,password);
4.建立Statement對象 或PerparedStatement對象
Statement statement=conn.createStatement();
PreparedStatement pstatement=conn.prepareStatement(所要執行的sql語句);
pstatement.setString(第一個占位符, 占位符的內容);
pstatement.setString(第二個占位符, 占位符的內容);
利用PreparedStatement可以避免數據庫的注入攻擊!
5.執行SQL語句
String Sql="select * from 表名";
ResultSet rs=statement.executeQuery(Sql);或者ResultSet rs=pstatement.executeQuery();
執行查詢語句是用executeQuery();
但是在執行“插入”,“更新”“刪除”語句時就需要用executeUpdate();方法了
6.訪問結果記錄集ResultSet對象
一般用while循環
while(rs.next()){
依次讀取結果。
}
7.依次將ResultSet對象,Statement對象或PerparedStatement對象Connection對象關閉釋放所占用的資源
rs.close();
statement.close();或者pstatement.close();
conn.close();
8.總結
PreparedStatement:
1.提高了安全性可以防止注入攻擊
2.提高了數據庫語句的執行性能。
3.提高了代碼的可讀性和可維護性。
其中PreparedStatement接口繼承自Statement接口
JDBC API做了哪三件事:
1.與數據庫建立連接。
2.執行數據庫的語句。
3.處理結果。
DriverManager類:依據數據庫的不同,管理JDBC驅動。
Connection接口:負責連接數據庫並擔任傳送數據的任務。
statement接口:由Connection對象創建,負責執行數據庫語句。
ResultSet 接口:負責保存Statement對象執行后所產生的查詢結果。
除了executeQuery方法和executeUpdate方法之外還有execute方法可以執行可以執行所有的語句,當獲得true時表示返回了一個ResultSet結果集。
方法:
next() :將光標從當前位置向下移動一行。
previous():游標從當前位置向上移動一行。
void close():關閉當前對象。
int getInt(int colIndex)獲取指定列號的當前行。
int getInt(String colIndex)獲取指定列名的當前行。
String getString(String colLabel)獲取結果集當前行指定列名值。
