JDBC代表JAVA DATA bASE Connectivity(Java數(shù)據(jù)庫連接),它是一個標準的 Java API,用于 Java 編程語言和大量數(shù)據(jù)庫之間的獨立于數(shù)據(jù)庫的連接。
JDBC庫包括用于下面提到的每個任務(wù)的API,這些API通常與數(shù)據(jù)庫使用相關(guān)聯(lián)。
與數(shù)據(jù)庫建立連接。
創(chuàng)建SQL或MySQL語句。
在數(shù)據(jù)庫中執(zhí)行SQL或MySQL查詢。
查看和修改結(jié)果記錄。
從根本上講,JDBC是一種規(guī)范,提供了一組完整的接口,允許對基礎(chǔ)數(shù)據(jù)庫進行可移植的訪問。Java可用于編寫不同類型的可執(zhí)行文件,例如-
Java 應(yīng)用程序
Java 小程序
Java Servlet
Java ServerPage(JSP)
企業(yè) JavaBean(EJB)。
所有這些不同的可執(zhí)行文件都可以使用JDBC驅(qū)動程序來訪問數(shù)據(jù)庫,并利用存儲的數(shù)據(jù)。
JDBC提供與ODBC相同的功能,從而允許Java程序包含獨立于數(shù)據(jù)庫的代碼。
在繼續(xù)之前,您需要對以下兩個主題有充分的了解-
JDBC API支持用于數(shù)據(jù)庫訪問的兩層和三層處理模型,但是通常,JDBC體系結(jié)構(gòu)由兩層組成-
JDBC API: 這提供了應(yīng)用程序到JDBC管理器的連接。
JDBC Driver API: 這支持JDBC管理器到驅(qū)動程序的連接。
JDBC API使用驅(qū)動程序管理器和特定于數(shù)據(jù)庫的驅(qū)動程序來提供與異構(gòu)數(shù)據(jù)庫的透明連接。
JDBC驅(qū)動程序管理器確保使用正確的驅(qū)動程序來訪問每個數(shù)據(jù)源。驅(qū)動程序管理器能夠支持連接到多個異構(gòu)數(shù)據(jù)庫的多個并發(fā)驅(qū)動程序。
以下是體系結(jié)構(gòu)圖,該圖顯示了驅(qū)動程序管理器相對于JDBC驅(qū)動程序和Java應(yīng)用程序的位置-
JDBC API提供以下接口和類-
DriverManager:此類管理數(shù)據(jù)庫驅(qū)動程序列表。使用通信子協(xié)議將來自Java應(yīng)用程序的連接請求與適當?shù)臄?shù)據(jù)庫驅(qū)動程序進行匹配。第一個在JDBC下識別特定子協(xié)議的驅(qū)動程序?qū)⒂糜诮?shù)據(jù)庫連接。
Driver:該接口處理與數(shù)據(jù)庫服務(wù)器的通信。您很少會直接與Driver對象進行交互。而是使用DriverManager對象,該對象管理此類型的對象。它還抽象了與使用Driver對象相關(guān)的詳細信息。
Connection:此接口包含用于聯(lián)系數(shù)據(jù)庫的所有方法。連接對象表示通信上下文,即,與數(shù)據(jù)庫的所有通信僅通過連接對象進行。
Statement:您可以使用從此接口創(chuàng)建的對象將SQL語句提交到數(shù)據(jù)庫。除執(zhí)行存儲過程外,某些派生接口還接受參數(shù)。
ResultSet:使用Statement對象執(zhí)行SQL查詢后,這些對象保存從數(shù)據(jù)庫檢索的數(shù)據(jù)。它充當?shù)?,使您可以遍歷其數(shù)據(jù)。
SQLException: 此類處理數(shù)據(jù)庫應(yīng)用程序中發(fā)生的所有錯誤。
java.sql和javax.sql是JDBC 4.0的主要包。這是撰寫本教程時的最新JDBC版本。它提供了用于與數(shù)據(jù)源進行交互的主要類。
這些軟件包中的新功能包括以下方面的更改:
自動數(shù)據(jù)庫驅(qū)動程序加載。
異常處理方面的改進。
增強的BLOB / CLOB功能。
連接和語句接口的增強。
國家字符集支持。
SQL ROWID訪問。
SQL 2003 XML數(shù)據(jù)類型支持。
注解。