?? jdbc接口技術(shù) 轉(zhuǎn).txt
字號(hào):
作者:有所得
日期:2000-11-16 10:37:26
作者:鄭林峰 張公忠
JDBC是一種可用于執(zhí)行SQL語(yǔ)句的JavaAPI(ApplicationProgrammingInterface應(yīng)用程序設(shè)計(jì)接口)。它由一些Java語(yǔ)言編寫(xiě)的類和界面組成。JDBC為數(shù)據(jù)庫(kù)應(yīng)用開(kāi)發(fā)人員、數(shù)據(jù)庫(kù)前臺(tái)工具開(kāi)發(fā)人員提供了一種標(biāo)準(zhǔn)的應(yīng)用程序設(shè)計(jì)接口,使開(kāi)發(fā)人員可以用純Java語(yǔ)言編寫(xiě)完整的數(shù)據(jù)庫(kù)應(yīng)用程序。
一、ODBC到JDBC的發(fā)展歷程
說(shuō)到JDBC,很容易讓人聯(lián)想到另一個(gè)十分熟悉的字眼“ODBC”。它們之間有沒(méi)有聯(lián)系呢?如果有,那么它們之間又是怎樣的關(guān)系呢?
ODBC是OpenDatabaseConnectivity的英文簡(jiǎn)寫(xiě)。它是一種用來(lái)在相關(guān)或不相關(guān)的數(shù)據(jù)庫(kù)管理系統(tǒng)(DBMS)中存取數(shù)據(jù)的,用C語(yǔ)言實(shí)現(xiàn)的,標(biāo)準(zhǔn)應(yīng)用程序數(shù)據(jù)接口。通過(guò)ODBCAPI,應(yīng)用程序可以存取保存在多種不同數(shù)據(jù)庫(kù)管理系統(tǒng)(DBMS)中的數(shù)據(jù),而不論每個(gè)DBMS使用了何種數(shù)據(jù)存儲(chǔ)格式和編程接口。
1.ODBC的結(jié)構(gòu)模型
ODBC的結(jié)構(gòu)包括四個(gè)主要部分:應(yīng)用程序接口、驅(qū)動(dòng)器管理器、數(shù)據(jù)庫(kù)驅(qū)動(dòng)器和數(shù)據(jù)源。
應(yīng)用程序接口:屏蔽不同的ODBC數(shù)據(jù)庫(kù)驅(qū)動(dòng)器之間函數(shù)調(diào)用的差別,為用戶提供統(tǒng)一的SQL編程接口。
驅(qū)動(dòng)器管理器:為應(yīng)用程序裝載數(shù)據(jù)庫(kù)驅(qū)動(dòng)器。
數(shù)據(jù)庫(kù)驅(qū)動(dòng)器:實(shí)現(xiàn)ODBC的函數(shù)調(diào)用,提供對(duì)特定數(shù)據(jù)源的SQL請(qǐng)求。如果需要,數(shù)據(jù)庫(kù)驅(qū)動(dòng)器將修改應(yīng)用程序的請(qǐng)求,使得請(qǐng)求符合相關(guān)的DBMS所支持的文法。
數(shù)據(jù)源:由用戶想要存取的數(shù)據(jù)以及與它相關(guān)的操作系統(tǒng)、DBMS和用于訪問(wèn)DBMS的網(wǎng)絡(luò)平臺(tái)組成。
雖然ODBC驅(qū)動(dòng)器管理器的主要目的是加載數(shù)據(jù)庫(kù)驅(qū)動(dòng)器,以便ODBC函數(shù)調(diào)用,但是數(shù)據(jù)庫(kù)驅(qū)動(dòng)器本身也執(zhí)行ODBC函數(shù)調(diào)用,并與數(shù)據(jù)庫(kù)相互配合。因此當(dāng)應(yīng)用系統(tǒng)發(fā)出調(diào)用與數(shù)據(jù)源進(jìn)行連接時(shí),數(shù)據(jù)庫(kù)驅(qū)動(dòng)器能管理通信協(xié)議。當(dāng)建立起與數(shù)據(jù)源的連接時(shí),數(shù)據(jù)庫(kù)驅(qū)動(dòng)器便能處理應(yīng)用系統(tǒng)向DBMS發(fā)出的請(qǐng)求,對(duì)分析或發(fā)自數(shù)據(jù)源的設(shè)計(jì)進(jìn)行必要的翻譯,并將結(jié)果返回給應(yīng)用系統(tǒng)。
2.JDBC的誕生
自從Java語(yǔ)言于1995年5月正式公布以來(lái),Java風(fēng)靡全球。出現(xiàn)大量的用java語(yǔ)言編寫(xiě)的程序,其中也包括數(shù)據(jù)庫(kù)應(yīng)用程序。由于沒(méi)有一個(gè)Java語(yǔ)言的API,編程人員不得不在Java程序中加入C語(yǔ)言的ODBC函數(shù)調(diào)用。這就使很多Java的優(yōu)秀特性無(wú)法充分發(fā)揮,比如平臺(tái)無(wú)關(guān)性、面向?qū)ο筇匦缘取kS著越來(lái)越多的編程人員對(duì)Java語(yǔ)言的日益喜愛(ài),越來(lái)越多的公司在Java程序開(kāi)發(fā)上投入的精力日益增加,對(duì)java語(yǔ)言接口的訪問(wèn)數(shù)據(jù)庫(kù)的API的要求越來(lái)越強(qiáng)烈。也由于ODBC的有其不足之處,比如它并不容易使用,沒(méi)有面向?qū)ο蟮奶匦缘鹊龋琒UN公司決定開(kāi)發(fā)一Java語(yǔ)言為接口的數(shù)據(jù)庫(kù)應(yīng)用程序開(kāi)發(fā)接口。在JDK1.x版本中,JDBC只是一個(gè)可選部件,到了JDK1.1公布時(shí),SQL類包(也就是JDBCAPI)就成為Java語(yǔ)言的標(biāo)準(zhǔn)部件。
二、JDBC技術(shù)概述
JDBC是一種可用于執(zhí)行SQL語(yǔ)句的JavaAPI(ApplicationProgrammingInterface,應(yīng)用程序設(shè)計(jì)接口)。它由一些Java語(yǔ)言寫(xiě)的類、界面組成。JDBC給數(shù)據(jù)庫(kù)應(yīng)用開(kāi)發(fā)人員、數(shù)據(jù)庫(kù)前臺(tái)工具開(kāi)發(fā)人員提供了一種標(biāo)準(zhǔn)的應(yīng)用程序設(shè)計(jì)接口,使開(kāi)發(fā)人員可以用純Java語(yǔ)言編寫(xiě)完整的數(shù)據(jù)庫(kù)應(yīng)用程序。
通過(guò)使用JDBC,開(kāi)發(fā)人員可以很方便地將SQL語(yǔ)句傳送給幾乎任何一種數(shù)據(jù)庫(kù)。也就是說(shuō),開(kāi)發(fā)人員可以不必寫(xiě)一個(gè)程序訪問(wèn)Sybase,寫(xiě)另一個(gè)程序訪問(wèn)Oracle,再寫(xiě)一個(gè)程序訪問(wèn)Microsoft的SQLServer。用JDBC寫(xiě)的程序能夠自動(dòng)地將SQL語(yǔ)句傳送給相應(yīng)的數(shù)據(jù)庫(kù)管理系統(tǒng)(DBMS)。不但如此,使用Java編寫(xiě)的應(yīng)用程序可以在任何支持Java的平臺(tái)上運(yùn)行,不必在不同的平臺(tái)上編寫(xiě)不同的應(yīng)用。Java和JDBC的結(jié)合可以讓開(kāi)發(fā)人員在開(kāi)發(fā)數(shù)據(jù)庫(kù)應(yīng)用時(shí)真正實(shí)現(xiàn)“WriteOnce,RunEverywhere!”
Java具有健壯、安全、易用等特性,而且支持自動(dòng)網(wǎng)上下載,本質(zhì)上是一種很好的數(shù)據(jù)庫(kù)應(yīng)用的編程語(yǔ)言。它所需要的是Java應(yīng)用如何同各種各樣的數(shù)據(jù)庫(kù)連接,JDBC正是實(shí)現(xiàn)這種連接的關(guān)鍵。
JDBC擴(kuò)展了Java的能力,如使用Java和JDBCAPI就可以公布一個(gè)Web頁(yè),頁(yè)中帶有能訪問(wèn)遠(yuǎn)端數(shù)據(jù)庫(kù)的Ap
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -