JDBC的使用过程
1.首先通過反射com.mysql.jdbc.Driver類,實例化該類的時候會執行該類內部的靜態代碼塊,該代碼塊會在Java實現的DriverManager類中注冊自己,DriverManager管理所有已經注冊的驅動類,當調用DriverManager.geConnection方法時會遍歷這些驅動類,并嘗試去連接數據庫,只要有一個能連接成功,就返回Connection對象,否則則報異常。
//通過反射實例化com.mysql.jdbc.Driver, Driver driver = (Driver)Class.forName("com.mysql.jdbc.Driver").newInstance();2.通過使用DriverManager.geConnection(url,user,password)函數,傳入url,數據庫用戶名,數據庫密碼,得到數據庫的Connection對象。
com.mysql.jdbc.Driver是mysql驅動類的全名,oracle驅動類的全名是oracle.jdbc.driver.OracleDriver。
連接數據庫時要傳入相應的url,
mysql url的格式是:jdbc:mysql://<ip>:3306/<database_name>
oracle url的格式是:jdbc:oracle:thin:<ip>:1521:<database_name>
Connection conn =DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/notedb","root","");(3)??創建 JDBC Statements 對象
//建立Statement對象 Statement stmt=conn.createStatement();(4)??設置SQL語句的傳入參數
//執行SQL查詢 String sql="select * from users"; ResultSet rs=stmt.executeQuery(sql); //建立PreparedStatement對象 String sql="select * from user where userName=? and password=?"; PreparedStatement pstmt=Conn.prepareStatement(sql); pstmt.setString(1,"admin"); pstmt.setString(2,"liubin"); //執行動態SQL查詢 ResultSet rs=pstmt.executeQuery(); //執行insert update delete等語句,先定義sql stmt.executeUpdate(sql);(5)??執行SQL語句并獲得查詢結果
while(rs.next) { out.println("你的第一個字段內容為:"+rs.getString("Name")); out.println("你的第二個字段內容為:"+rs.getString(2)); }(6)??對查詢結果進行轉換處理并將處理結果返回
(7)??釋放相關資源(關閉Connection,關閉Statement,關閉ResultSet)
rs.close(); stmt.clost(); pstmt.close(); con.close();?
總結
- 上一篇: Inndb和Memory
- 下一篇: 反射能干嘛