JDBC代表Java資料庫連接(Java Database Connectivity),它是用於Java編程語言和數據庫之間的資料庫無關連接的標準Java API,換句話說:JDBC是用於在Java語言編程中與資料庫連接的API。
JDBC庫包括通常與資料庫使用相關,如下面提到的每個任務的API -
連接到資料庫
創建SQL或MySQL語句
在資料庫中執行SQL或MySQL查詢
查看和修改結果記錄
從根本上說,JDBC是一個規範,它提供了一整套介面,允許以一種可移植的訪問底層資料庫API。 Java可以用它來編寫不同類型的可執行檔,如 -
- Java應用程式
- Java Applet
- Java Servlets
- Java ServerPages(JSP)
- 企業級JavaBeans(EJB)
所有這些不同的可執行檔都能夠使用JDBC驅動程式來訪問資料庫,並用於存儲數據到資料庫中。
JDBC提供與ODBC相同的功能,允許Java程式包含與資料庫無關的代碼(同樣的代碼,只需要指定使用的資料庫類型,不需要重修改資料庫查詢或操作代碼)。
先決條件
在進一步瞭解之前,需要對以下兩個Java和數據庫SQL語句有很好的瞭解 -
JDBC架構
JDBC API支持用於資料庫訪問的兩層和三層處理模型,但通常,JDBC體系結構由兩層組成:
- JDBC API:提供應用程式到JDBC管理器連接。
- JDBC驅動程式API:支持JDBC管理器到驅動程式連接。
JDBC API使用驅動程式管理器並指定資料庫的驅動程式來提供與異構資料庫的透明連接。
JDBC驅動程式管理器確保使用正確的驅動程式來訪問每個數據源。 驅動程式管理器能夠支持連接到多個異構資料庫的多個併發驅動程式。
以下是架構圖,它顯示了驅動程式管理器相對於JDBC驅動程式和Java應用程式的位置 -
常見的JDBC組件
JDBC API提供以下介面和類 -
DriverManager
:此類管理資料庫驅動程式列表。 使用通信子協議將來自java應用程式的連接請求與適當的資料庫驅動程式進行匹配。在JDBC下識別某個子協議的第一個驅動程式將用於建立資料庫連接。Driver
:此介面處理與資料庫伺服器的通信。我們很少會直接與Driver
對象進行交互。 但會使用DriverManager
對象來管理這種類型的對象。 它還提取與使用Driver
對象相關的資訊。Connection
:此介面具有用於聯繫資料庫的所有方法。 連接(Connection
)對象表示通信上下文,即,與資料庫的所有通信僅通過連接對象。Statement
:使用從此介面創建的對象將SQL語句提交到資料庫。 除了執行存儲過程之外,一些派生介面還接受參數。ResultSet
:在使用Statement
對象執行SQL查詢後,這些對象保存從資料庫檢索的數據。 它作為一個迭代器並可移動ResultSet
對象查詢的數據。SQLException
:此類處理資料庫應用程式中發生的任何錯誤。
JDBC 4.0包
java.sql
和javax.sql
是JDBC 4.0的主要包。這是編寫本教程時最新的JDBC版本。 它提供了與數據源進行交互的主要類。
這些包中的新功能包括以下更改(增強) -
- 自動資料庫驅動程式加載
- 異常處理改進
- 增強的
BLOB/CLOB
功能 Connection
和Statement
介面的增強- 國家字元集支持
- SQL ROWID訪問
- SQL 2003 XML數據類型的支持
- 注解支持