JDBC

訪問數據庫的步驟

  1. 加載驅動程序
    Class.forName(driver.class);
  2. 建立連接
    Connection con = DriverManager.getConnection(url,user,pwd);
  3. 創建語句對象
    Statement stmt = con.createStatement();
    PreparedStatement pstmt = con.prepareStatement(sql);
  4. 執行sql語句
    ResultSet rs = stmt.executeQuery(sql);
  5. 結果集對象處理及關閉
    rs.close();
  6. 關閉語句對象
    stmt.close();
  7. 關閉連接
    con.close();

連接各種數據庫的驅動和URl格式

  1. Oracle數據庫
    驅動:oracle.jdbc.driver.OracleDriver——>Class.forName().newInstance();
    URL: ” jdbc:oracle:thin:@localhost:1521:orcl”
    格式:“jdbc:驅動名稱:連接模式:@數據庫服務器IP:端口號:數據庫SID”;
  2. MySQL數據庫
    驅動:com.mysql.jdbc.Driver
    URL:–> jdbc:mysql://localhost:3306/DBName
  3. SQLServer數據庫
    SQLServer2000
    驅動:com.microsoft.jdbc.sqlserver.SQLServerDriver
    URL:jdbc:microsoft:sqlserver://127.0.0.1:1433;databasename=DBName
    SQLServer2005-2008
    驅動:com.microsoft.sqlserver.jdbc.SQLServerDriver
    URL:jdbc:sqlserver://127.0.0.1:1433;databasename=DBName
    JDBC-ODBC
    驅動:sun.jdbc.odbc.JdbcOdbcDriver
    URL :jdbc:odbcL:數據源
    SQLServer2000和2005的驅動和URL的不同,請細心觀察。

ResultSet滾動結果集

ResultSet對象允許在這個結果數據表中一行一行的移動,如果想要跳到某一位置去查詢數據,就需要一個滾動結果集。
Statement stmt = con.createStatement(int type, int concurreny);
滾動結果集能夠實現遊標的任意移動 修改、添加、刪除結果集的內容並更新到數據庫中,具體用法參照API文檔

Statement和PrepareStatement的區別

  1. statement 執行一次就編譯一次sql語句,無緩衝,安全性能差(需要過濾處理)
  2. PrepareStatement 一次編譯多次使用,sql語句存緩存中,適用於批處理 ; 代碼可讀性,維護性好; 極大的提高了安全性,能避免惡意SQL語法破壞不用對傳入進行過濾處理。如包含“;drop table tname”;
  3. 一般情況下都用PrepareStatement語句代替Statement語句
發佈了29 篇原創文章 · 獲贊 35 · 訪問量 9萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章