JDBC訪問(wèn)數(shù)據(jù)庫(kù)步驟詳解_第1頁(yè)
JDBC訪問(wèn)數(shù)據(jù)庫(kù)步驟詳解_第2頁(yè)
JDBC訪問(wèn)數(shù)據(jù)庫(kù)步驟詳解_第3頁(yè)
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

JDBC訪問(wèn)數(shù)據(jù)庫(kù)步驟詳解/加載注冊(cè)驅(qū)動(dòng):首先通過(guò)數(shù)據(jù)庫(kù)廠商網(wǎng)站,獲得JDBC驅(qū)動(dòng)文件及驅(qū)動(dòng)的文檔說(shuō)明,驅(qū)動(dòng)文件通是一個(gè)jar文件(JavaArchiveJava歸檔文件),驅(qū)動(dòng)文檔中通常包含了驅(qū)動(dòng)使用的說(shuō)明和示例程序。如果在Java程序中需要使用第三方(非JDK內(nèi)置)的軟件包,你必須把軟件包添加到程序的classpath(類路徑)中。在Eclipse中添加軟件包的方法與項(xiàng)目類型有關(guān)。JavaWeb項(xiàng)目直接將JDBC驅(qū)動(dòng)的Jar文件復(fù)制到項(xiàng)目的web—inf/lib/下即可。JavaApplication項(xiàng)目(1)在Elipse中點(diǎn)擊菜單Project>Properties,打開(kāi)項(xiàng)目屬性窗口。(2)點(diǎn)擊JavaBuild>Libraries,點(diǎn)擊AddExternalJARS按鈕,打開(kāi)JAR窗口。(3)選擇JDBC驅(qū)動(dòng)的jar文件,完成驅(qū)動(dòng)引入,驅(qū)動(dòng)包顯示在ProjectExplor視圖中。JDBC驅(qū)動(dòng)包添加完成后,在程序中注冊(cè)驅(qū)動(dòng)的方法如下:Stringdriver=”customerjdbcdriverclassfullname”;Class.forName(driver):Driver參數(shù)是JDBC驅(qū)動(dòng)類的完整類名稱,可以通過(guò)查詢JDBC驅(qū)動(dòng)的文檔獲得,不同數(shù)據(jù)庫(kù)驅(qū)動(dòng)的驅(qū)動(dòng)類名稱是不一樣的。例如Oracle驅(qū)動(dòng)類名稱為oracle.jdbc.driver.OracleDriver,JDBC-ODBC橋驅(qū)動(dòng)類名稱為:sun.jdbc.odbc.jdbcodbcdriver。Java.lang.class類的forname方法可以根據(jù)類名初始化類實(shí)例,從而實(shí)現(xiàn)JDBC驅(qū)動(dòng)類注冊(cè)。二、簡(jiǎn)歷數(shù)據(jù)連接:簡(jiǎn)歷數(shù)據(jù)庫(kù)連接時(shí)通過(guò)java.sql.DriverManager類實(shí)現(xiàn)的,代碼示例Connectionconn=DriverManager.getConnerction(url,user,password);Url:連接數(shù)據(jù)庫(kù)的字符串不同數(shù)據(jù)庫(kù)的連接url由一些差異,請(qǐng)查詢相應(yīng)JDBC驅(qū)動(dòng)文檔或參見(jiàn)附錄。通常url中包含數(shù)據(jù)庫(kù)的ip,端口,庫(kù)名以及其他參數(shù)。例如Mysql數(shù)據(jù)庫(kù)的連接url格式為:jdbc:mysql://192.168.1.1:3306/db-customerUser:連接數(shù)據(jù)庫(kù)的用戶名Password:連接數(shù)據(jù)庫(kù)的密碼Connection類別是數(shù)據(jù)庫(kù)的具體連接,它的通用方法如下:方法簡(jiǎn)介Statementcreatestatement()創(chuàng)建一個(gè)statement對(duì)象用來(lái)將SQL語(yǔ)句發(fā)送到數(shù)據(jù)庫(kù)StatementCreatestatement(intresultsettype,Intresultsetconcurrency)創(chuàng)建具有指定查詢結(jié)果集類型和并發(fā)性的statementPreparestatementpreparestatement(stringsql)創(chuàng)建一個(gè)preparestatement對(duì)象來(lái)將參數(shù)化的SQL語(yǔ)句發(fā)送到數(shù)據(jù)庫(kù)Callablestatementpreparecall(stringsql)創(chuàng)建一個(gè)callablestatement對(duì)象來(lái)調(diào)用數(shù)據(jù)庫(kù)存儲(chǔ)過(guò)程Voidsetautocommit(booleanautocommit)設(shè)置此鏈接的事務(wù)自動(dòng)提交模式Voidcommit()提交事務(wù)Voidrollback()回滾事務(wù)Voidclose()關(guān)閉當(dāng)前連接databaseMetadatagetmetadata()獲得數(shù)據(jù)庫(kù)元數(shù)數(shù)據(jù)信息注意:上述方法都會(huì)拋出SQLException三、創(chuàng)建statement通過(guò)connection的createment方法可以創(chuàng)建statement對(duì)象Statementstatement=conn.creatstatement();Statement對(duì)象的主要作用是向數(shù)據(jù)發(fā)送SQL語(yǔ)句,它的常用方法如下:方法說(shuō)明ResultsetexecuteQuery(Stringsql)執(zhí)行一個(gè)查詢SQL語(yǔ)句,獲得結(jié)果集IntexecuteUpdate(Stringsql)執(zhí)行一個(gè)更新SQL語(yǔ)句,獲得更新行數(shù)Voidclose()關(guān)閉statement及其打開(kāi)的結(jié)果集VoidsetMaxrows(intmax)設(shè)置返回的查詢結(jié)果集最大行數(shù)VoidaddBatch(Stringsql)向批處理中添加一條SQLInt[]executeBatch()執(zhí)行處理中的所有SQL,返回影響行數(shù)數(shù)組四、操作Resultset結(jié)果集使用Statement的excuteQuery方法執(zhí)行SQL查詢語(yǔ)句,可以獲得返回的結(jié)果集Resulesetrs=Statement,executequery(“select*fromuserinfo”)Resuleset對(duì)象表示數(shù)據(jù)庫(kù)查詢結(jié)果集的數(shù)據(jù)包,它包含符合SQL查詢結(jié)果中的所有數(shù)據(jù)行。對(duì)Resultset對(duì)象我們通常只進(jìn)行讀取操作,不推薦對(duì)resultset進(jìn)行更新或插入行,更新請(qǐng)使用statement的exeutrupdate方法。Resultset對(duì)象與數(shù)據(jù)庫(kù)中的表相似。它也有光標(biāo)(游標(biāo))的概念。默認(rèn)情況下光標(biāo)志向Resultset第一數(shù)據(jù)之前,并且向光標(biāo)僅能向下移動(dòng),如果需要可以滾動(dòng)游標(biāo)的結(jié)果集,必須在創(chuàng)建statement時(shí)使用指定參數(shù)。使用resultset的next()方法可以使光標(biāo)下移一行,正常移動(dòng)返回true,如果到達(dá)記錄末尾則返回false。通常使用while(()){。。。。。。}遍歷結(jié)果集。更多Java方面知識(shí)盡在準(zhǔn)信軟件培訓(xùn):使用rs.getXXXargument)方法可以取得光標(biāo)所在行的字段值。XXX表示數(shù)據(jù)類型:Getint:以int型返回字段值Getstring:以java.lang.string類型返回字段值Getfloat:以float類型返回字段值Getdate:以java.sal.date類型返回字段值A(chǔ)rgument參數(shù)有兩類值使用字段序號(hào)(下標(biāo)從1開(kāi)始)的形式:intid=rs.getint(1)使用字段名稱:stringname=rs.getsting(“username”)五、資源釋放JDBC操作必須進(jìn)行資源釋放,因?yàn)镴DBC驅(qū)動(dòng)在底層通常是通過(guò)網(wǎng)絡(luò)IO實(shí)現(xiàn)SQL命令與數(shù)據(jù)傳輸?shù)?。Connection、statement、resultset都提供了close方法用于釋放資源。大多數(shù)JDBC操作都會(huì)拋出SQLException,必須進(jìn)行異

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論