JDBC代表Java數(shù)據(jù)庫(kù)連接,這對(duì)Java編程語(yǔ)言和廣泛的數(shù)據(jù)庫(kù)之間獨(dú)立于數(shù)據(jù)庫(kù)的連接標(biāo)準(zhǔn)的Java API。
JDBC庫(kù)包含的API為每個(gè)通常與數(shù)據(jù)庫(kù)的使用相關(guān)聯(lián)的任務(wù):
使得連接到數(shù)據(jù)庫(kù)
創(chuàng)建SQL或MySQL語(yǔ)句
執(zhí)行SQL或MySQL的查詢數(shù)據(jù)庫(kù)
查看和修改結(jié)果記錄從根本上說(shuō),JDBC是一種規(guī)范,它提供的接口,一套完整的,允許便攜式訪問(wèn)底層數(shù)據(jù)庫(kù)??梢杂肑ava來(lái)寫(xiě)不同類型的可執(zhí)行文件,如:
Java應(yīng)用程序
Java Applets
Java Servlets
Java ServerPages (JSP)
Enterprise JavaBeans (EJBs)所有這些不同的可執(zhí)行文件就可以使用JDBC驅(qū)動(dòng)程序來(lái)訪問(wèn)數(shù)據(jù)庫(kù),并把存儲(chǔ)的數(shù)據(jù)的優(yōu)勢(shì)。
JDBC提供了相同的功能,ODBC,允許Java程序包含與數(shù)據(jù)庫(kù)無(wú)關(guān)的代碼。
先決條件:
以前正如期進(jìn)行本教程,需要具備以下兩個(gè)主題內(nèi)容很好的了解:
核心Java編程
SQL或MySQL數(shù)據(jù)庫(kù)
JDBC架構(gòu):
JDBC API支持兩層和三層處理模型進(jìn)行數(shù)據(jù)庫(kù)訪問(wèn),但在一般的JDBC體系結(jié)構(gòu)由兩層組成:
JDBC API: 提供了應(yīng)用程序?qū)DBC的管理連接。
JDBC Driver API: 支持JDBC管理到驅(qū)動(dòng)器連接。JDBC
API的使用驅(qū)動(dòng)程序管理器和數(shù)據(jù)庫(kù)特定的驅(qū)動(dòng)程序提供透明的連接到異構(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)程序管理器方面的JDBC驅(qū)動(dòng)程序和Java應(yīng)用程序的位置:
常見(jiàn)的JDBC組件:
JDBC API提供了以下接口和類:
DriverManager:
這個(gè)類管理數(shù)據(jù)庫(kù)驅(qū)動(dòng)程序的列表。內(nèi)容是否符合從Java應(yīng)用程序使用的通信子協(xié)議正確的數(shù)據(jù)庫(kù)驅(qū)動(dòng)程序的連接請(qǐng)求。識(shí)別JDBC在一定子協(xié)議的第一個(gè)驅(qū)動(dòng)器將被用來(lái)建立數(shù)據(jù)庫(kù)連接。
Driver:
此接口處理與數(shù)據(jù)庫(kù)服務(wù)器通信。很少直接與驅(qū)動(dòng)程序?qū)ο蟆O喾?,使用DriverManager中的對(duì)象,它管理此類型的對(duì)象。它也抽象與驅(qū)動(dòng)程序?qū)ο蠊ぷ飨嚓P(guān)的詳細(xì)信息
Connection : 此接口與接觸數(shù)據(jù)庫(kù)的所有方法。連接對(duì)象表示通信上下文,即,與數(shù)據(jù)庫(kù)中的所有的通信是通過(guò)唯一的連接對(duì)象。
Statement : 可以使用這個(gè)接口創(chuàng)建的對(duì)象的SQL語(yǔ)句提交到數(shù)據(jù)庫(kù)。一些派生的接口接受除執(zhí)行存儲(chǔ)過(guò)程的參數(shù)。
ResultSet:
這些對(duì)象保存從數(shù)據(jù)庫(kù)后,執(zhí)行使用Statement對(duì)象的SQL查詢中檢索數(shù)據(jù)。它作為一個(gè)迭代器,讓您可以通過(guò)移動(dòng)它的數(shù)據(jù)。
SQLException: 這個(gè)類處理發(fā)生在一個(gè)數(shù)據(jù)庫(kù)應(yīng)用程序的任何錯(cuò)誤。