博客 / 詳情

返回

JDBC、工具類DBUtils

JDBC、工具類DBUtils

一.JDBC
1.什麼是JDBC
JDBC的全稱是Java數據庫連接(Java Database connect),它是一套用於執行SQL語句的Java API。應用程序可通過這套API連接到關係數據庫,並使用SQL語句來完成對數據庫中數據的查詢、更新和刪除等操作。
2.JDBC開發流程

導入JDBC驅動包
加載並註冊JDBC驅動
創建數據庫連接
創建Statement對象
遍歷查詢結果
關閉連接,釋放資源

3.連接數據庫常見的問題

  • ClassNotFoundException --- 類未找到異常
  • Connection refuse --- 數據庫連接被拒絕異常
  • Access denied for user --- 用户名與密碼錯誤異常
    4.execute,executeQuery,executeUpdate的區別
    在JDBC中,execute、executeQuery和executeUpdate這三個方法通常用於執行SQL語句。它們的區別在於它們處理的結果和所執行的SQL語句的類型。
    executeQuery:這個方法主要用於執行查詢操作,即SELECT語句。它返回一個ResultSet對象,表示查詢結果。
    executeUpdate:這個方法主要用於執行修改操作,如INSERT、UPDATE或DELETE。它返回一個整數,表示受影響的行數。
    execute:這個方法可以用於執行任何類型的SQL語句。如果SQL語句是查詢(SELECT),它返回一個ResultSet對象;如果SQL語句是修改(INSERT、UPDATE、DELETE等),它返回一個整數。這個方法提供了最大的靈活性,但也是最不明確的,因為它可以用於任何類型的SQL語句。
    5.SQL注入攻擊
    SQL注入攻擊是指利用SQL漏洞越權獲取數據的黑客行為,其根源是未對原始SQL中的敏感字符做特殊處理。
    解決方法:放棄Statement改用PreparedStatement處理SQL。
    6.JDBC中的事務管理
    (1)事務
    事務是以一種可靠的、一致的方式,訪問和操作數據庫的程序單元。
    (2) JDBC兩種事務模式
  • 自動提交事務模式
    每執行一次寫操作SQL,自動提交事務
    自動提交開啓方法: conn.setAutoCommit(true)
    自動事務是JDBC默認行為,此模式無法保證多數據一致性
  • 手動提交事務模式
    顯式調用commit()與rollback()方法管理事務
    手動提交開啓方法: conn.setAutoCommit(false)
    手動提交事務可保證多數據一致性,但必須手動調用提交/回滾方法
    (3) 事務回滾
    如果事務中的某個點發生故障,則所有更新都可以回滾到事務開始之前的狀態。如果沒有發生故障,則通過以完成狀態提交事務來完成更新。
    二.Apache Commons DBUtils
  • commons-dbutils是 Apache提供的開源 JDBC工具類庫
  • 它是對JDBC的簡單封裝,學習成本極低
  • 使用commons-dbutils可以極大簡化JDBC編碼工作量
user avatar
0 位用戶收藏了這個故事!

發佈 評論

Some HTML is okay.