JDBC數(shù)據(jù)庫編程的研究
(作者未知) 2011/6/21
摘要:在Web應(yīng)用程序設(shè)計(jì)中,提升數(shù)據(jù)庫的響應(yīng)性能是改善應(yīng)用性能的關(guān)鍵;贘DBC的Web數(shù)據(jù)庫應(yīng)用中,使用JDBC的優(yōu)化技術(shù),改善數(shù)據(jù)模型,可提高Web應(yīng)用程序的響應(yīng)性能。
關(guān)鍵詞:Java JDBC JDBC API 數(shù)據(jù)庫 優(yōu)化
0 引言
目前,Web應(yīng)用程序正在以非?斓乃俣仍谠鲩L(zhǎng),Web應(yīng)用程序不再是簡(jiǎn)單顯示信息的網(wǎng)站,而逐漸融合核心的業(yè)務(wù)邏輯,成為IT領(lǐng)域的業(yè)務(wù)處理平臺(tái)。Java以其面向?qū)ο蟆⒖缙脚_(tái)、安全性、健壯性等優(yōu)秀特性已成為開發(fā)Web應(yīng)用的主要選擇。基于JDBC的結(jié)構(gòu)和應(yīng)用模式JDBC是一種可用于執(zhí)行SQL語句的Java API,由一些Java語言編寫的類和接口組成。通過使用JDBC,開發(fā)人員可以很方便的將SQL語句傳送給幾乎任何一種數(shù)據(jù)庫,有很好的可移植性。
1 JDBC定義
JDBC是由Java編程語言編寫的類及接口組成,同時(shí)它也為程序開發(fā)人員提供了一組用于實(shí)現(xiàn)對(duì)數(shù)據(jù)庫訪問的JDBC API,并支持SQL語言。利用JDBC可以將Java代碼連接到Oracle、DB2、SQL Server、My SQL等數(shù)據(jù)庫,從而實(shí)現(xiàn)對(duì)數(shù)據(jù)庫中的數(shù)據(jù)進(jìn)行操作的目的。
JDBC類似與Microsoft的ODBC,但兩者有很大的區(qū)別,JDBC是Java操作數(shù)據(jù)庫的方法,有Sun公司提供;ODBC是有微軟公司提供的數(shù)據(jù)庫操作的方法。也可以說JDBC是連接數(shù)據(jù)庫的一套標(biāo)準(zhǔn)。ODBC不適合直接在Java中使用,因?yàn)樗褂肅語言接口。
2 JDBC與Java結(jié)合的優(yōu)點(diǎn)
JDBC與Java結(jié)合,再一次驗(yàn)證了Java那句話“一次編寫,到處運(yùn)行”。它使程序員可以只寫一次數(shù)據(jù)庫程序后,就可以在各種數(shù)據(jù)庫系統(tǒng)上運(yùn)行。通過使用JDBC,程序員可以很方便地將SQL語句傳給任何一種數(shù)據(jù)庫。也就是說,程序員不需要寫多個(gè)程序分別對(duì)應(yīng)不同的數(shù)據(jù)庫,用JDBC編寫的程序能自動(dòng)將SQL語句傳給相應(yīng)的數(shù)據(jù)庫管理系統(tǒng)(DBMS)
Java具有堅(jiān)固、安全、易于使用和易于理解等特性,是編寫數(shù)據(jù)庫應(yīng)用程序的杰出語言。所需要的只是Java應(yīng)用程序與各種不同數(shù)據(jù)庫之間進(jìn)行對(duì)話的方法,JDBC提供了這種方法?梢哉fJDBC擴(kuò)展了Java的功能。
3 JDBC工作原理
JDBC作為Java Enterprise API的一部分于1996年5月由JavaSoft公司推出,它為Java程序員在Java代碼中訪問關(guān)系數(shù)據(jù)庫提供了標(biāo)準(zhǔn)API。這個(gè)標(biāo)準(zhǔn)API提供了編寫標(biāo)準(zhǔn)和考慮所有不同應(yīng)用程序設(shè)計(jì)的標(biāo)準(zhǔn).其奧秘是一組由驅(qū)動(dòng)程序?qū)崿F(xiàn)的Java接口。驅(qū)動(dòng)程序負(fù)責(zé)標(biāo)準(zhǔn)JDBC調(diào)用向支持的數(shù)據(jù)庫所要的具體調(diào)用轉(zhuǎn)變。這樣應(yīng)用程序編寫一次就能移植到各種驅(qū)動(dòng)程序上,應(yīng)用程序不變,驅(qū)動(dòng)程序則各不相同。驅(qū)動(dòng)程序可以用于開發(fā)多層數(shù)據(jù)庫設(shè)計(jì)的中間層,也稱中間件。
4 JDBC數(shù)據(jù)庫連接中存在的問題及解決方案分析
JDBC的連接過程是JDBC達(dá)到正常運(yùn)行的最困難部分。常遇到的問題有:
4.1 Class Not Found Exception異常 如果出現(xiàn)“Exception in thread main java.lang.ClassNotFoundException”異常,這表示找不到數(shù)據(jù)庫的JDBC驅(qū)動(dòng)程序,可能的原因:一是沒有為SQL Sever安裝JDB 驅(qū)動(dòng)程序,或者Class.forName(“com.microsoft.jdbc.sqlserver.SQLServerDriver”)代碼拼寫有誤。
解決方案如下:
step1:判斷是否已經(jīng)安裝JDBC驅(qū)動(dòng)程序,若沒有安裝,則從網(wǎng)上下載并安裝,安裝后的目錄一般為C:\Program File\Microsoft SQL Server 2000 Driver For JDBC\Lib,該目錄下有三個(gè).jar文件:msbase.jar、mssqlserver.jar、msutil.jar,所需的類都在這三個(gè)文件中。
step2:動(dòng)態(tài)指定classpath。將以上三個(gè)文件的路勁加入classpath之中:Classpath=.;C:\Program File\Microsoft SQL Server 2000 Driver For JDBC\Lib\msbase.jar;C:\Program File\Microsoft SQL Server2000 Driver For JDBC\Lib t msutil.jar;C:\Program File\Microsoft SQL Server 2000 Dr(未完,下一頁)
|