目標
回顧 JDBC 的基本操作
掌握 PreparedStatement 預編譯 SQL 語句處理
瞭解 JDBC 中的事務處理
總結 JDBC API 結構
瞭解項目中如何使用 JDBC 進行編程
1、回顧 JDBC 的基本操作
(1)加載驅動 Class.forName("com.mysql.jdbc.Driver");
(2)創建數據庫連接
Connection conn=DriverManager.getConnection(url,user,password);
(3)得到發送 SQL 語句的 Statement 對象
Statement stmt = conn.createStatement();
(4)執行 SQL
int row = stmt.executeUpdate(sql); //增刪改
ResultSet rs = stmt.executeQuery(sql);//查詢
(5)處理結果
while(rs.next()){ //移動結果集表格中的指針
rs.getInt("列名");
rs.getString("time"); //time 在數據庫中是 date|datetime
//類型,從結果集取值是,可以看做字符類型
}
(6)關閉所有打開的連接
2、掌握 PreparedStatement 預編譯 SQL 語句處理
java.sql.Statement 是一個基本的發送 SQL 語句的對象,
基本功能就是把 SQL 語句發送給數據庫。
Statement
|
PreparedStatement(繼承自 Statemtent,擴展)
在項目開發中,一個數據庫訪問類中,可能多個方法使用
同一句 SQL 語句,需要把 SQL 語句定義成 “成員變量”
String sql = "insert into student(name,age) values(?,?)";
這樣的 SQL 語句,必須使用 PreparedStatement 來進行處理。
使用 PreparedStatement 步驟:
(1)新建一個帶 ? 不定值的 SQL 語句
(2)在數據庫執行方法中,
PreparedStatement stmt = conn.prepareStatement(sql2);
(3)使用 stmt 對 SQL 語句中的 ? 賦值
stmt.setXXXX(index,value); //選擇合適的方法、注意?的位置
(4)其他的執行方法與 Statement 對象一樣。
3、瞭解 JDBC 中的事務處理
原子性、一致性、持久性、隔離性
在 JDBC 代碼中,同樣允許同一個方法中,同時執行 多條
SQL 語句,這幾條 SQL 語句是一個整體,要麼都執行成功,
要麼都執行失敗。
//啓動事務處理
conn.setAutoCommit(false);
//執行多條 SQL 語句
//把多條 SQL 語句作爲整體發送給數據庫
conn.commit();
try {
//執行失敗,回滾事務
conn.rollback();
} catch (SQLException e1) {
System.out.println("程序錯誤,轉賬失敗");
e1.printStackTrace();
}
4、總結 JDBC API 結構
5、瞭解項目中如何使用 JDBC 進行編程
對得到數據庫連接對象以及關閉對象的代碼進行重構。
原則:讓專門的類做專門的事情。
建立專門的數據庫連接對象的創建類--數據庫連接工廠類
附錄:
操作系統的時間 java.util.Date
數據庫中的時間 java.sql.Date
//兩個時間有同樣的起點,可以把各自轉化爲 距起始時間的
//毫秒數後,直接轉化
java.util.Date dt = new java.util.Date();
java.sql.Date dt2 = new java.sql.Date(dt.getTime());
任務:
(1)掌握 PreparedStatement 對象的使用方法
(2)掌握數據庫連接工廠類的使用方法
(3)完成指定接口的數據庫方法實現
jdbc2
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.