JavaWeb07-HTML篇筆記(二)
阿新 • • 發佈:2018-05-16
Java1.1 案例一:使用JDBC完成CRUD的操作:1.1.1 需求:
對分類管理使用JDBC進行CRUD的操作.
1.1.2 分析:1.1.2.1 技術分析:
【JDBC的概述】
? JDBC:Java DataBase Connectivity Java數據庫的連接.
對分類管理使用JDBC進行CRUD的操作.
1.1.2 分析:1.1.2.1 技術分析:
【JDBC的概述】
? JDBC:Java DataBase Connectivity Java數據庫的連接.
- 是SUN公司統一提供的一套接口規範(JDBC).各個數據庫生產商提供實現.
? 驅動:兩個硬件設備之間通信的橋梁.
【JDBC的開發步驟】
? 註冊驅動:
? 獲得連接:
? 獲得執行SQL語句對象:
? 釋放資源:
1.1.2.2 步驟分析:
【步驟一】:創建一個Java項目.
【步驟二】:引入mysql的驅動包.
【步驟三】:編寫代碼.
【步驟四】:完成CRUD的操作:
工具類的抽取:
public class JDBCUtils {
/** * 註冊驅動的方法 */ public static void loadDriver(){ try { Class.forName("com.mysql.jdbc.Driver"); } catch (ClassNotFoundException e) { e.printStackTrace(); } } /** * 獲得連接的方法 */ public static Connection getConnection(){ Connection conn = null; try { loadDriver(); conn = DriverManager.getConnection("jdbc:mysql:///web_07", "root", "123"); } catch (SQLException e) { e.printStackTrace(); } return conn; } /** * 釋放資源的方法 */ public static void release(ResultSet rs,Statement stmt,Connection conn){ 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; } } public static void release(Statement stmt,Connection conn){ 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; } } }
帶有屬性文件的工具類的抽取:
定義了一個屬性文件: public class JDBCUtils { private static final String driverClass; private static final String url; private static final String username; private static final String password; static { Properties properties = null; // 讀取屬性文件:使用Java中Properties的對象. try{ InputStream is = new FileInputStream("src/jdbc.properties"); properties = new Properties(); properties.load(is); }catch(Exception e){ e.printStackTrace(); } driverClass = properties.getProperty("driverClass"); url = properties.getProperty("url"); username = properties.getProperty("username"); password = properties.getProperty("password"); } /** * 註冊驅動的方法 */ public static void loadDriver(){ try { Class.forName(driverClass); } catch (ClassNotFoundException e) { e.printStackTrace(); } } /** * 獲得連接的方法 */ public static Connection getConnection(){ Connection conn = null; try { loadDriver(); conn = DriverManager.getConnection(url, username, password); } catch (SQLException e) { e.printStackTrace(); } return conn; } /** * 釋放資源的方法 */ public static void release(ResultSet rs,Statement stmt,Connection conn){ 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; } } public static void release(Statement stmt,Connection conn){ 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; } } } 參見JDBCDemo2類:
1.1.4 總結:1.1.4.1 JDBC的API:
【Connection】
? 創建執行SQL的對象:
? 進行事務管理:
【Statement】
? 執行SQL語句:
? 執行批處理:
【ResultSet】
? 獲得結果集中的數據:
* getXXX(int idx);
* select cname,cid from category;
* getXXX(String name);
? 默認情況下:next();
* 正常的情況下結果集只能向下的.
JavaWeb07-HTML篇筆記(二)