1. 程式人生 > >JavaWeb07-HTML篇筆記(二)

JavaWeb07-HTML篇筆記(二)

Java

1.1 案例一:使用JDBC完成CRUD的操作:1.1.1 需求:
對分類管理使用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的操作:
    1.1.3 代碼實現:

工具類的抽取:
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篇筆記(二)