JDBC 簡(jiǎn)介

2018-09-28 19:57 更新

簡(jiǎn)介

什么是 JDBC?

JDBC 指 Java 數(shù)據(jù)庫連接,是一種標(biāo)準(zhǔn)Java應(yīng)用編程接口( JAVA API),用來連接 Java 編程語言和廣泛的數(shù)據(jù)庫。

JDBC API 庫包含下面提到的每個(gè)任務(wù),都是與數(shù)據(jù)庫相關(guān)的常用用法。

  • 制作到數(shù)據(jù)庫的連接。
  • 創(chuàng)建 SQL 或 MySQL 語句。
  • 執(zhí)行 SQL 或 MySQL 查詢數(shù)據(jù)庫。
  • 查看和修改所產(chǎn)生的記錄。

從根本上來說,JDBC 是一種規(guī)范,它提供了一套完整的接口,允許便攜式訪問到底層數(shù)據(jù)庫,因此可以用 Java 編寫不同類型的可執(zhí)行文件,例如:

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

所有這些不同的可執(zhí)行文件就可以使用 JDBC 驅(qū)動(dòng)程序來訪問數(shù)據(jù)庫,這樣可以方便的訪問數(shù)據(jù)。

JDBC 具有 ODBC 一樣的性能,允許 Java 程序包含與數(shù)據(jù)庫無關(guān)的代碼。

先決條件

為了更好的理解本教程,需要對(duì)以下兩個(gè)主題內(nèi)容很好的理解:

  • 核心 JAVA 編程
  • SQL 或 MySQL 數(shù)據(jù)庫

JDBC 架構(gòu)

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

  • JDBC API: 提供了應(yīng)用程序?qū)?JDBC 管理器的連接。

  • JDBC Driver API: 提供了 JDBC 管理器對(duì)驅(qū)動(dòng)程序連接。

JDBC API 使用驅(qū)動(dòng)程序管理器和數(shù)據(jù)庫特定的驅(qū)動(dòng)程序來提供異構(gòu)(heterogeneous)數(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)程序。

以下是結(jié)構(gòu)圖,其中顯示了驅(qū)動(dòng)程序管理器相對(duì)于在 JDBC 驅(qū)動(dòng)程序和 Java 應(yīng)用程序所處的位置。

常見的 JDBC 組件

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

DriverManager :這個(gè)類管理一系列數(shù)據(jù)庫驅(qū)動(dòng)程序。匹配連接使用通信子協(xié)議從 JAVA 應(yīng)用程序中請(qǐng)求合適的數(shù)據(jù)庫驅(qū)動(dòng)程序。識(shí)別 JDBC 下某個(gè)子協(xié)議的第一驅(qū)動(dòng)程序?qū)⒈挥糜诮?shù)據(jù)庫連接。

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

Connection : 此接口具有接觸數(shù)據(jù)庫的所有方法。該連接對(duì)象表示通信上下文,即,所有與數(shù)據(jù)庫的通信僅通過這個(gè)連接對(duì)象進(jìn)行。

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

ResultSet : 在你使用語句對(duì)象執(zhí)行 SQL 查詢后,這些對(duì)象保存從數(shù)據(jù)獲得的數(shù)據(jù)。它作為一個(gè)迭代器,讓您可以通過它的數(shù)據(jù)來移動(dòng)。

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

JDBC 4.0 軟件包

JDBC 4.0 主要包含 java.sql 包和 javax.sql 包,在編寫這本教程的時(shí)候這是 JDBC 最新的版本。它提供的主要類與數(shù)據(jù)源進(jìn)行交互。

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

  • 自動(dòng)數(shù)據(jù)庫驅(qū)動(dòng)程序加載
  • 異常處理的改進(jìn)
  • 增強(qiáng)的 BLOB/CLOB 功能
  • 增強(qiáng)的連接和語句界面
  • 國家字符集支持
  • SQL ROWID 訪問
  • SQL 2003 XML 數(shù)據(jù)類型支持
  • 注釋
以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)