JDBC是什麼?


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.sqljavax.sql是JDBC 4.0的主要包。這是編寫本教學時最新的JDBC版本。 它提供了與資料源進行互動的主要類。

這些包中的新功能包括以下更改(增強) -

  • 自動資料庫驅動程式載入
  • 例外處理改進
  • 增強的BLOB/CLOB功能
  • ConnectionStatement介面的增強
  • 國家字元集支援
  • SQL ROWID存取
  • SQL 2003 XML資料型別的支援
  • 註解支援