JDBC教程

JDBC教程

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

讀者

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

前提條件

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

JDBC代表Java與數(shù)據(jù)庫的連接,這對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ù)庫的程序。可以用Java來寫不同類型的可執(zhí)行文件,如:

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

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

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ū)動器連接。
  • JDBC API的使用驅(qū)動程序管理器和數(shù)據(jù)庫特定的驅(qū)動程序提供透明的連接到異構(gòu)數(shù)據(jù)庫。
  • JDBC驅(qū)動程序管理器可確保正確的驅(qū)動程序來訪問每個(gè)數(shù)據(jù)源。該驅(qū)動程序管理器能夠支持連接到多個(gè)異構(gòu)數(shù)據(jù)庫的多個(gè)并發(fā)的驅(qū)動程序。

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

[圖片上傳失敗...(image-2e16bf-1546771309601)]

常見的JDBC組件:

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

  • DriverManager: 這個(gè)類管理數(shù)據(jù)庫驅(qū)動程序的列表。確定內(nèi)容是否符合從Java應(yīng)用程序使用的通信子協(xié)議正確的數(shù)據(jù)庫驅(qū)動程序的連接請求。識別JDBC在一定子協(xié)議的第一個(gè)驅(qū)動器將被用來建立數(shù)據(jù)庫連接。
  • Driver: 此接口處理與數(shù)據(jù)庫服務(wù)器通信。很少直接直接使用驅(qū)動程序(Driver)對象,一般使用DriverManager中的對象,它用于管理此類型的對象。它也抽象與驅(qū)動程序?qū)ο蠊ぷ飨嚓P(guān)的詳細(xì)信息
  • Connection : 此接口與接觸數(shù)據(jù)庫的所有方法。連接對象表示通信上下文,即,與數(shù)據(jù)庫中的所有的通信是通過此唯一的連接對象。
  • Statement : 可以使用這個(gè)接口創(chuàng)建的對象的SQL語句提交到數(shù)據(jù)庫。一些派生的接口接受除執(zhí)行存儲過程的參數(shù)。
  • ResultSet: 這些對象保存從數(shù)據(jù)庫后,執(zhí)行使用Statement對象的SQL查詢中檢索數(shù)據(jù)。它作為一個(gè)迭代器,可以通過移動它來檢索下一個(gè)數(shù)據(jù)。
  • SQLException: 這個(gè)類用于處理發(fā)生在數(shù)據(jù)庫應(yīng)用程序中的任何錯(cuò)誤。

JDBC 4.0軟件包

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

在這些包中的新功能包括改變在以下幾個(gè)方面:

  • 自動數(shù)據(jù)庫驅(qū)動程序加載
  • 異常處理的改進(jìn)
  • BLOB/CLOB功能增強(qiáng)
  • 連接和語句接口增強(qiáng)
  • 國家字符集支持
  • SQL ROWID訪問
  • SQL 2003 XML數(shù)據(jù)類型支持
  • 注釋JDBC數(shù)據(jù)庫連接
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容