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對于給定聲明取得結果的途徑