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