JDBC基礎

JDBC API 是一系列的接口。
它使得應用程序能夠進行數據庫聯接,執行SQL語句,并且得到返回結果。

Driver 接口
  • Java.sql.Driver 接口是所有 JDBC 驅動程序需要實現的接口。這個接口是提供給數據庫廠商使用的,不同數據庫廠商提供不同的實現
  • 在程序中不需要直接去訪問實現了 Driver 接口的類,而是由驅動程序管理器類(java.sql.DriverManager)去調用這些Driver實現
加載與注冊 JDBC 驅動
  • 加載 JDBC 驅動需調用 Class 類的靜態方法 forName(),向其傳遞要加載的 JDBC 驅動的類名
  • DriverManager 類是驅動程序管理器類,負責管理驅動程序
  • 通常不用顯式調用 DriverManager 類的 registerDriver() 方法來注冊驅動程序類的實例,因為 Driver 接口的驅動程序類都包含了靜態代碼塊,在這個靜態代碼塊中,會調用 DriverManager.registerDriver() 方法來注冊自身的一個實例
建立連接
  • 可以調用 DriverManager 類的 getConnection() 方法建立到數據庫的連接
  • JDBC URL 用于標識一個被注冊的驅動程序,驅動程序管理器通過這個 URL 選擇正確的驅動程序,從而建立到數據庫的連接。
  • JDBC URL的標準由三部分組成,各部分間用冒號分隔。
    jdbc:<子協議>:<子名稱>
    協議:JDBC URL中的協議總是jdbc
    子協議:子協議用于標識一個數據庫驅動程序
    子名稱:一種標識數據庫的方法。子名稱可以依不同的子協議而變化,用
    名稱的目的是為了定位數據庫提供足夠的信息
幾種常用數據庫的JDBC URL

<strong>oracle:</strong>
jdbc:oracle:thin:@localhost:1521:sid
<strong>mysql:</strong>
jdbc:mysql://localhost:3306/sid

Statement
  • 通過調用 Connection 對象的 createStatement 方法創建該對象
    該對象用于執行靜態的 SQL 語句,并且返回執行結果
  • Statement 接口中定義了下列方法用于執行 SQL 語句:
    • ResultSet excuteQuery(String sql)
    • int excuteUpdate(String sql)
ResultSet
  • 通過調用 Statement 對象的 excuteQuery() 方法創建該對象
  • ResultSet 對象以邏輯表格的形式封裝了執行數據庫操作的結果集,ResultSet 接口由數據庫廠商實現
  • ResultSet 對象維護了一個指向當前數據行的游標,初始的時候,游標在第一行之前,可以通過 ResultSet 對象的 next() 方法移動到下一行
  • ResultSet 接口的常用方法: boolean next()、getString()......
小結
  • java.sql.DriverManager用來裝載驅動程序,獲取數據庫連接。
  • java.sql.Connection完成對某一指定數據庫的聯接
  • java.sql.Statement在一個給定的連接中作為SQL執行聲明的容器,他包含了兩個重要的子類型。
    • Java.sql.PreparedSatement 用于執行預編譯的sql聲明
    • Java.sql.CallableStatement用于執行數據庫中存儲過程的調用
  • java.sql.ResultSet對于給定聲明取得結果的途徑
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 一,JDBC概述 1.為什么要使用JDBC 1.1沒有JDBC 1.2有了JDBC后 2.JDBC的概念 2.1....
    有樓萬事足閱讀 224評論 0 0
  • 掌握數據庫開發是java工程師的基本要求,而JDBC是數據庫開發的基礎,通過JDBC可以實現Java程序對后端數據...
    lingyv閱讀 1,055評論 0 9
  • 簡介 1、JDBC(java Data Base Connectivity,java數據庫連接),由一些接口和類組...
    exmexm閱讀 128評論 0 0
  • JDBC概述 在Java中,數據庫存取技術可分為如下幾類:JDBC直接訪問數據庫、JDO技術、第三方O/R工具,如...
    usopp閱讀 3,558評論 3 75
  • tomorrow is the first day of postgraduate entrance examin...
    Sahar于昔閱讀 223評論 0 0