鍍金池/ 教程/ Java/ JDBC教程
JDBC Like子句實(shí)例
JDBC異常
JDBC排序數(shù)據(jù)實(shí)例
JDBC事務(wù)保存點(diǎn)(setSavepoint, releaseSavepoint )實(shí)例
JDBC結(jié)果集
JDBC Statement對(duì)象執(zhí)行批量處理實(shí)例
JDBC事務(wù)
JDBC SQL語法
JDBC快速入門教程
JDBC創(chuàng)建數(shù)據(jù)庫實(shí)例
JDBC流ASCII和二進(jìn)制數(shù)據(jù)
JDBC刪除表實(shí)例
JDBC Statements, PreparedStatement和CallableStatement語句
JDBC WHERE子句條件實(shí)例
JDBC插入數(shù)據(jù)實(shí)例
JDBC驅(qū)動(dòng)程序類型
JDBC環(huán)境配置
JDBC數(shù)據(jù)庫連接
JDBC刪除數(shù)據(jù)實(shí)例
JDBC PrepareStatement對(duì)象執(zhí)行批量處理實(shí)例
JDBC刪除數(shù)據(jù)庫實(shí)例
JDBC事務(wù)提交/回滾實(shí)例
JDBC更新數(shù)據(jù)實(shí)例
JDBC存儲(chǔ)過程調(diào)用
JDBC教程
JDBC批量處理
JDBC創(chuàng)建表實(shí)例
JDBC數(shù)據(jù)類型
JDBC是什么?
JDBC簡(jiǎn)單示例代碼
JDBC選擇數(shù)據(jù)庫實(shí)例
JDBC查詢數(shù)據(jù)實(shí)例

JDBC教程

JDBC API是一個(gè)Java API可以訪問任何類型的數(shù)據(jù)庫的數(shù)據(jù),尤其是存儲(chǔ)在關(guān)系數(shù)據(jù)庫中的數(shù)據(jù)。 JDBC的工作原理與Java在各種平臺(tái)一樣,如Windows,Mac OS和各種版本的UNIX系統(tǒng)。

讀者

本教程是為Java程序員設(shè)計(jì)的,需要了解JDBC框架的細(xì)節(jié)以及它的架構(gòu)和實(shí)際使用情況。

前提條件

在學(xué)習(xí)本教程,應(yīng)該對(duì)Java編程語言的一個(gè)很好的理解。因?yàn)橐幚鞷DBMS,所以它需要對(duì)SQL和數(shù)據(jù)庫的概念有很好的理解。

JDBC代表Java與數(shù)據(jù)庫的連接,這對(duì)Java編程語言和廣泛的數(shù)據(jù)庫之間獨(dú)立于數(shù)據(jù)庫的連接標(biāo)準(zhǔn)的Java API。

JDBC庫包含的API為每個(gè)通常與數(shù)據(jù)庫的使用相關(guān)聯(lián)的任務(wù):

  • 使得連接到數(shù)據(jù)庫
  • 創(chuàng)建SQL或MySQL語句
  • 執(zhí)行SQL或MySQL的查詢數(shù)據(jù)庫

查看和修改結(jié)果記錄

從根本上說,JDBC是一種規(guī)范,它提供的接口,一套完整的,可移植的訪問底層數(shù)據(jù)庫的程序??梢杂肑ava來寫不同類型的可執(zhí)行文件,如:

  • Java應(yīng)用程序
  • Java Applets
  • Java Servlets
  • Java ServerPages (JSP)
  • Enterprise JavaBeans (EJBs)

所有這些不同的可執(zhí)行文件就可以使用JDBC驅(qū)動(dòng)程序來訪問數(shù)據(jù)庫,并把存儲(chǔ)的數(shù)據(jù)的優(yōu)勢(shì)。

JDBC提供了與ODBC相同的功能,允許Java程序包含與數(shù)據(jù)庫無關(guān)的代碼。

先決條件

如果您要學(xué)習(xí)本教程,需要具備以下兩個(gè)主題內(nèi)容很好的了解:

JDBC架構(gòu)

JDBC API支持兩層和三層處理模型進(jìn)行數(shù)據(jù)庫訪問,但在一般的JDBC體系結(jié)構(gòu)由兩層組成:

  • JDBC API: 提供了應(yīng)用程序?qū)DBC的管理連接。
  • JDBC Driver API: 支持JDBC管理到驅(qū)動(dòng)器連接。
  • JDBC API的使用驅(qū)動(dòng)程序管理器和數(shù)據(jù)庫特定的驅(qū)動(dòng)程序提供透明的連接到異構(gòu)數(shù)據(jù)庫。
  • JDBC驅(qū)動(dòng)程序管理器可確保正確的驅(qū)動(dòng)程序來訪問每個(gè)數(shù)據(jù)源。該驅(qū)動(dòng)程序管理器能夠支持連接到多個(gè)異構(gòu)數(shù)據(jù)庫的多個(gè)并發(fā)的驅(qū)動(dòng)程序。

以下是JDBC結(jié)構(gòu)圖,它顯示了驅(qū)動(dòng)程序管理器方面的JDBC驅(qū)動(dòng)程序和Java應(yīng)用程序的位置:

常見的JDBC組件:

JDBC API提供了以下接口和類:

  • DriverManager: 這個(gè)類管理數(shù)據(jù)庫驅(qū)動(dòng)程序的列表。確定內(nèi)容是否符合從Java應(yīng)用程序使用的通信子協(xié)議正確的數(shù)據(jù)庫驅(qū)動(dòng)程序的連接請(qǐng)求。識(shí)別JDBC在一定子協(xié)議的第一個(gè)驅(qū)動(dòng)器將被用來建立數(shù)據(jù)庫連接。

  • Driver: 此接口處理與數(shù)據(jù)庫服務(wù)器通信。很少直接直接使用驅(qū)動(dòng)程序(Driver)對(duì)象,一般使用DriverManager中的對(duì)象,它用于管理此類型的對(duì)象。它也抽象與驅(qū)動(dòng)程序?qū)ο蠊ぷ飨嚓P(guān)的詳細(xì)信息

  • Connection : 此接口與接觸數(shù)據(jù)庫的所有方法。連接對(duì)象表示通信上下文,即,與數(shù)據(jù)庫中的所有的通信是通過此唯一的連接對(duì)象。

  • Statement : 可以使用這個(gè)接口創(chuàng)建的對(duì)象的SQL語句提交到數(shù)據(jù)庫。一些派生的接口接受除執(zhí)行存儲(chǔ)過程的參數(shù)。

  • ResultSet: 這些對(duì)象保存從數(shù)據(jù)庫后,執(zhí)行使用Statement對(duì)象的SQL查詢中檢索數(shù)據(jù)。它作為一個(gè)迭代器,可以通過移動(dòng)它來檢索下一個(gè)數(shù)據(jù)。

  • SQLException: 這個(gè)類用于處理發(fā)生在數(shù)據(jù)庫應(yīng)用程序中的任何錯(cuò)誤。

JDBC 4.0軟件包

對(duì)JDBC4.0,java.sqljavax.sql是主要的包。在寫這篇教程的時(shí)候,這是最新版本的JDBC。它提供的主要類與數(shù)據(jù)源進(jìn)行交互。

在這些包中的新功能包括改變?cè)谝韵聨讉€(gè)方面:

  • 自動(dòng)數(shù)據(jù)庫驅(qū)動(dòng)程序加載
  • 異常處理的改進(jìn)
  • BLOB/CLOB功能增強(qiáng)
  • 連接和語句接口增強(qiáng)
  • 國(guó)家字符集支持
  • SQL ROWID訪問
  • SQL 2003 XML數(shù)據(jù)類型支持
  • 注釋

問題反饋

我們不能保證您在此JDBC教程中不會(huì)遇到任何問題。本教程中的講解,示例和代碼等只是根據(jù)作者的理解來概括寫出。由于作者水平和能力有限,因此不保正所有的編寫文章都準(zhǔn)確無誤。但是如果有遇到任何錯(cuò)誤或問題,請(qǐng)反饋給我們,我們會(huì)及時(shí)糾正以方便后繼讀者閱讀。