天天看點

資料庫必知詞彙:JDBC

Java資料庫連接配接(Java Database Connectivity, JDBC)是Java語言中用來規範用戶端程式如何來通路資料庫的應用程式接口(API),提供了諸如查詢和更新資料庫中資料的方法。可以為多種關系資料庫提供統一通路,它由一組用Java語言編寫的類和接口組成,是Java通路資料庫的标準規範。JDBC提供了一種基準,據此可以建構更進階的工具和接口,使資料庫開發人員能夠編寫資料庫應用程式。

JDBC需要連接配接驅動,驅動是兩個裝置要進行通信,滿足一定通信資料格式,資料格式由裝置提供商規定,裝置提供商為裝置提供驅動軟體,通過軟體可以與該裝置進行通信。JDBC驅動程式共分四種類型:

  • JDBC-ODBC橋:這種類型的驅動把所有JDBC的調用傳遞給ODBC,再讓後者調用資料庫本地驅動代碼(也就是資料庫廠商提供的資料庫操作二進制代碼庫,例如Oracle中的oci.dll)。
  • 本地API驅動:這種類型的驅動通過用戶端加載資料庫廠商提供的本地代碼庫(C/C++等)來通路資料庫,而在驅動程式中則包含了Java代碼。
  • 網絡協定驅動:這種類型的驅動給用戶端提供了一個網絡API,用戶端上的JDBC驅動程式使用套接字(Socket)來調用伺服器上的中間件程式,後者在将其請求轉化為所需的具體API調用。
  • 本地協定驅動:這種類型的驅動使用Socket,直接在用戶端和資料庫間通信。

JDBC API 既支援資料庫通路的兩層模型(C/S),同時也支援三層模型(B/S)。在兩層模型中,Java applet或應用程式将直接與資料庫進行對話。這将需要一個JDBC驅動程式來與所通路的特定資料庫管理系統進行 通訊。使用者的SQL語句被送往資料庫中,而其結果将被送回給使用者。資料庫可以位于另一台計算機上,使用者通過網絡連接配接到上面。這就叫做客戶機/伺服器配置,其中使用者的計算機為客戶機,提供資料庫的計算機為伺服器。網絡可以是 Intranet(它可将公司職員連接配接起來),也可以是 Internet。

在三層模型中,指令先是被發送到服務的“中間層”,然後由它将SQL 語句發送給資料庫。資料庫對 SQL 語句進行處理并将結果送回到中間層,中間層再将結果送回給使用者。MIS 主管們都發現三層模型很吸引人,因為可用中間層來控制對公司資料的通路和可作的的更新的種類。中間層的另一個好處是,使用者可以利用易于使用的進階API,而中間層将把它轉換為相應的低級調用。最後,許多情況下三層結構可提供一些性能上的好處。

資料來源:

  1. JDBC 使用說明 https://www.runoob.com/w3cnote/jdbc-use-guide.html
  2. JDBC詳細介紹 https://blog.csdn.net/jungle_rao/article/details/81274720
  3. Lesson: JDBC Introduction https://docs.oracle.com/javase/tutorial/jdbc/overview/index.html