----擇自<<精通Java Web整合開發>>劉斌
在Java程序中通過JDBC操作數據庫一般分爲以下幾個步驟:
(以下只拿Oracle,MSSQL,MySQL三個數據庫作爲例子)
(1)加載JDBC驅動: 將數據庫的JDBC驅動加載到classpath中,在基於JavaEE的Web應用實際開發過程中,通常要把目標數據庫產品的JDBC驅動複製到WEB-INF/lib下.
(2)實例化數據庫連接驅動類: 並將其註冊到DriverManager中.下面是一些主流數據庫的JDBC舉動加載註冊的代碼(只寫出筆試常考):
//Oracle8/8i/9i 數據庫(thin 模式)
Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();
//SQL Server7.0/2000 數據庫
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
//MySQL數據庫
Class.forName("com.mysql.jdbc.Driver").newInstance();
(這裏省略了DB2,Informix,Sybase,PostgreSQL這幾個數據庫)
(3)建立數據庫連接,取得Connection對象.例如:
//Oracle8/8i/9i 數據庫(thin 模式)
String url="jdbc:oracle:thin:@localhost:1521:orcl";
String user="scott";
String password="tiger";
Connection conn="DriverManager.getConnection(url,user,password);
//SQL Server7.0/2000 數據庫
String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=pubs";
String user="sa";
String password="";
Connection conn="DriverManager.getConnection(url,user,password);
//MySQL 數據庫
String url="jdbc:mysql://localhost:3306/testDB?user=root&password=root&useUnicode=true&characterEncoding=gb2312";
Connection conn=DriverManager.getConnection(url);
(4)建立Statement對象或PreparedStatement對象.例如:
//建立Statement 對象
Statement stmt=conn.createStatement();
//建立Preparedment 對象
String sql="select * from users where userName=? and password=?";
PreparedStatement pstmt=conn.prepareStatement(sql);
pstmt.setString(1,"admin");
pstmt.setString(2,"liubin");
(5)執行SQL語句.例如:
//執行靜態SQL查詢
String sql="select * from users";
ResultSet rs=stmt.executeQuery(sql);
//執行動態SQL查詢
ResultSet rs = pstmt.executeQuery();
//執行insert,update,delete等語句,先定義sql
stmt.executeUpdate(sql);
(6)訪問結果記錄集ResultSet對象.例如:
while(rs.next()) {
out.println("你的第一個字段內容爲: " + rs.getString(1));
out.println("你的第二個字段內容爲: " + rs.getString(2));
}
(7)依次將ResultSet,Statement,PreparedStatement,Connection對象關閉,釋放所佔用的資源.例如:
rs.close();
stmt.close();
pstmt.close();
con.close();