JDBC是一種可用于執(zhí)行SQL語句的JavaAPI(ApplicationProgrammingInterface應(yīng)用程序設(shè)計接口)。它由一些Java語言編寫的類和界面組成。JDBC為
數(shù)據(jù)庫應(yīng)用開發(fā)人員、
數(shù)據(jù)庫前臺工具開發(fā)人員提供了一種標(biāo)準(zhǔn)的應(yīng)用程序設(shè)計接口,使開發(fā)人員可以用純Java語言編寫完整的
數(shù)據(jù)庫
JDBC是一種可用于執(zhí)行SQL語句的JavaAPI(ApplicationProgrammingInterface應(yīng)用程序設(shè)計接口)。它由一些Java語言編寫的類和界面組成。JDBC為應(yīng)用開發(fā)人員、前臺工具開發(fā)人員提供了一種標(biāo)準(zhǔn)的應(yīng)用程序設(shè)計接口,使開發(fā)人員可以用純Java語言編寫完整的應(yīng)用程序。
一、ODBC到JDBC的發(fā)展歷程
說到JDBC,很容易讓人聯(lián)想到另一個十分熟悉的字眼ODBC。它們之間有沒有聯(lián)系呢?如果有,那么它們之間又是怎樣的關(guān)系呢?
ODBC是OpenDatabaseConnectivity的英文簡寫。它是一種用來在相關(guān)或不相關(guān)的管理系統(tǒng)(DBMS)中存取數(shù)據(jù)的,用C語言實(shí)現(xiàn)的,標(biāo)準(zhǔn)應(yīng)用程序數(shù)據(jù)接口。通過ODBCAPI,應(yīng)用程序可以存取保存在多種不同管理系統(tǒng)(DBMS)中的數(shù)據(jù),而不論每個DBMS使用了何種數(shù)據(jù)存儲格式和編程接口。
1.ODBC的結(jié)構(gòu)模型
ODBC的結(jié)構(gòu)包括四個主要部分:應(yīng)用程序接口、驅(qū)動器管理器、驅(qū)動器和數(shù)據(jù)源。
應(yīng)用程序接口:屏蔽不同的ODBC驅(qū)動器之間函數(shù)調(diào)用的差別,為用戶提供統(tǒng)一的SQL編程接口。
驅(qū)動器管理器:為應(yīng)用程序裝載驅(qū)動器。
驅(qū)動器:實(shí)現(xiàn)ODBC的函數(shù)調(diào)用,提供對特定數(shù)據(jù)源的SQL請求。如果需要,驅(qū)動器將修改應(yīng)用程序的請求,使得請求符合相關(guān)的DBMS所支持的文法。
數(shù)據(jù)源:由用戶想要存取的數(shù)據(jù)以及與它相關(guān)的操作系統(tǒng)、DBMS和用于DBMS的網(wǎng)絡(luò)平臺組成。
雖然ODBC驅(qū)動器管理器的主要目的是加載驅(qū)動器,以便ODBC函數(shù)調(diào)用,但是驅(qū)動器本身也執(zhí)行ODBC函數(shù)調(diào)用,并與相互配合。因此當(dāng)應(yīng)用系統(tǒng)發(fā)出調(diào)用與數(shù)據(jù)源進(jìn)行連接時,驅(qū)動器能管理通信協(xié)議。當(dāng)建立起與數(shù)據(jù)源的連接時,驅(qū)動器便能處理應(yīng)用系統(tǒng)向DBMS發(fā)出的請求,對分析或發(fā)自數(shù)據(jù)源的設(shè)計進(jìn)行必要的翻譯,并將結(jié)果返回給應(yīng)用系統(tǒng)。
2.JDBC的誕生
自從Java語言于1995年5月正式公布以來,Java風(fēng)靡全球。出現(xiàn)大量的用java語言編寫的程序,其中也包括應(yīng)用程序。由于沒有一個Java語言的API,編程人員不得不在Java程序中加入C語言的ODBC函數(shù)調(diào)用。這就使很多Java的優(yōu)秀特性無法充分發(fā)揮,比如平臺無關(guān)性、面向?qū)ο筇匦缘取kS著越來越多的編程人員對Java語言的日益喜愛,越來越多的公司在Java程序開發(fā)上投入的精力日益增加,對java語言接口的的API的要求越來越強(qiáng)烈。也由于ODBC的有其不足之處,比如它并不容易使用,沒有面向?qū)ο蟮奶匦缘鹊龋琒UN公司決定開發(fā)一Java語言為接口的應(yīng)用程序開發(fā)接口。在JDK1.x版本中,JDBC只是一個可選部件,到了JDK1.1公布時,SQL類包(也就是JDBCAPI)就成為Java語言的標(biāo)準(zhǔn)部件。
二、JDBC技術(shù)概述
JDBC是一種可用于執(zhí)行SQL語句的JavaAPI(ApplicationProgrammingInterface,應(yīng)用程序設(shè)計接口)。它由一些Java語言寫的類、界面組成。JDBC給應(yīng)用開發(fā)人員、前臺工具開發(fā)人員提供了一種標(biāo)準(zhǔn)的應(yīng)用程序設(shè)計接口,使開發(fā)人員可以用純Java語言編寫完整的應(yīng)用程序。
通過使用JDBC,開發(fā)人員可以很方便地將SQL語句傳送給幾乎任何一種。也就是說,開發(fā)人員可以不必寫一個程序Sybase,寫另一個程序Oracle,再寫一個程序Microsoft的SQLServer。用JDBC寫的程序能夠自動地將SQL語句傳送給相應(yīng)的管理系統(tǒng)(DBMS)。不但如此,使用Java編寫的應(yīng)用程序可以在任何支持Java的平臺上運(yùn)行,不必在不同的平臺上編寫不同的應(yīng)用。Java和JDBC的結(jié)合可以讓開發(fā)人員在開發(fā)應(yīng)用時真正實(shí)現(xiàn)WriteOnce,RunEverywhere!
Java具有健壯、安全、易用等特性,而且支持自動網(wǎng)上下載,本質(zhì)上是一種很好的應(yīng)用的編程語言。它所需要的是Java應(yīng)用如何同各種各樣的連接,JDBC正是實(shí)現(xiàn)這種連接的關(guān)鍵。
JDBC擴(kuò)展了Java的能力,如使用Java和JDBCAPI就可以公布一個Web頁,頁中帶有能遠(yuǎn)端的Ap?plet。或者企業(yè)可以通過JDBC讓全部的職工(他們可以使用不同的操作系統(tǒng),如Windwos,Machintosh和UNIX)在In?tranet上連接到幾個全球上,而這幾個全球可以是不相同的。隨著越來越多的程序開發(fā)人員使用Java語言,對Java易操作性的需求越來越強(qiáng)烈。
MIS管理人員喜歡Java和JDBC,因?yàn)檫@樣可以更容易經(jīng)濟(jì)地公布信息。各種已經(jīng)安裝在中的事務(wù)處理都將繼續(xù)正常運(yùn)行,甚至這些事務(wù)處理是存儲在不同的管理系統(tǒng)中;而對新的應(yīng)用來說,開發(fā)時間將縮短,安裝和版本升級將大大簡化。程序員可以編寫或改寫一個程序,然后將它放在服務(wù)器上,而每個用戶都可以服務(wù)器得到最新的版本。對于信息服務(wù)行業(yè),Java和JDBC提供了一種很好的向外界用戶更新信息的方法。
1.JDBC的任務(wù)
簡單地說,JDBC能完成下列三件事:
1)同一個建立連接;
2)向發(fā)送SQL語句;
3)處理返回的結(jié)果。