分析學(xué)習(xí)java教程_第1頁(yè)
分析學(xué)習(xí)java教程_第2頁(yè)
分析學(xué)習(xí)java教程_第3頁(yè)
分析學(xué)習(xí)java教程_第4頁(yè)
分析學(xué)習(xí)java教程_第5頁(yè)
已閱讀5頁(yè),還剩13頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、使用JDBC連接數(shù)據(jù)庫(kù)本章目標(biāo)掌握J(rèn)DBC的實(shí)現(xiàn)原理熟練掌握使用JDBC連接數(shù)據(jù)庫(kù)熟練掌握J(rèn)DBC中各個(gè)對(duì)象的使用JDBC數(shù)據(jù)庫(kù)連接JDBCJDBC(Java Data Base Connectivity)JAVA連接數(shù)據(jù)庫(kù)技術(shù)的簡(jiǎn)稱,是JAVA連接各種數(shù)據(jù)庫(kù)的能力應(yīng)用程序ORACLESQLSERVERMYSQLJDBCJDBC數(shù)據(jù)庫(kù)連接JDBC的工作原理應(yīng)用程序JDBC APIORACLE驅(qū)動(dòng)SQLSERVER驅(qū)動(dòng)ORACLE數(shù)據(jù)庫(kù)SQLSERVER數(shù)據(jù)庫(kù)驅(qū)動(dòng)管理器SUN提供JDBC APC集成在java.sql和javax.sql包中JDBC APC主要包括:DriverManager類C

2、onnection接口Statement接口ResultSet接口JDBC驅(qū)動(dòng)是不同數(shù)據(jù)庫(kù)廠商對(duì)各自數(shù)據(jù)庫(kù)進(jìn)行JDBC實(shí)現(xiàn)包JDBC數(shù)據(jù)庫(kù)連接JDBC的功能主要是實(shí)現(xiàn)如下處理將應(yīng)用程序和數(shù)據(jù)庫(kù)進(jìn)行連接執(zhí)行SQL語(yǔ)句將執(zhí)行語(yǔ)句得到的結(jié)果返回應(yīng)用程序DriverManager負(fù)責(zé)管理加載的驅(qū)動(dòng)Connection負(fù)責(zé)對(duì)數(shù)據(jù)庫(kù)的鏈接Statement由Connection產(chǎn)生,負(fù)責(zé)執(zhí)行SQL語(yǔ)句ResultSet保存Statement執(zhí)行得到的結(jié)果JDBC數(shù)據(jù)庫(kù)連接JDBC進(jìn)行數(shù)據(jù)庫(kù)連接的方式主要有ODBC連接和純JAVA驅(qū)動(dòng)連接ODBC連接時(shí)需要配置當(dāng)前系統(tǒng)的數(shù)據(jù)源JDBC不依賴當(dāng)前系統(tǒng)環(huán)境,直接

3、由驅(qū)動(dòng)獲取連接JDBC數(shù)據(jù)庫(kù)連接JDBC進(jìn)行數(shù)據(jù)庫(kù)操作訪問的步驟主要如下:加載驅(qū)動(dòng)包通過驅(qū)動(dòng)管理獲取應(yīng)用程序和數(shù)據(jù)庫(kù)的連接通過連接獲取處理器對(duì)象使用處理器執(zhí)行SQL語(yǔ)句將執(zhí)行得到的結(jié)果返回應(yīng)用程序關(guān)閉使用到的各個(gè)對(duì)象JDBC數(shù)據(jù)庫(kù)連接ODBC連接Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver”);Connection=DriverManager.getConnection(“jdbc : odbc : 數(shù)據(jù)源名稱”)JDBC數(shù)據(jù)庫(kù)連接純JAVA JDBC連接Class.forName(“oracle.jdbc.driver.OracleDriver”);

4、Connection con=DirverManager.getConnection(“jdbc:oracle:thin:IP:端口:實(shí)例名” , ”用戶名” , ”密碼”)JDBC數(shù)據(jù)庫(kù)連接使用處理器執(zhí)行SQL語(yǔ)句Statement stmt=con. createStatement();int count=stmt.executeUpdate(SQL語(yǔ)句);/ResultSet rs=stmt.executeQuery(SQL語(yǔ)句);JDBC數(shù)據(jù)庫(kù)連接使用結(jié)果集獲取查詢結(jié)果while(rs.next()/根據(jù)每列的類型調(diào)用不同的方法/如int型rs.getInt(列所在索引);/如Stri

5、g類型rs.getString(列所在索引);JDBC數(shù)據(jù)庫(kù)連接關(guān)閉對(duì)象結(jié)果集.close();處理器.close();連接.close();JDBC數(shù)據(jù)庫(kù)連接使用預(yù)處理執(zhí)行SQL語(yǔ)句PreparedStatement pstmt=con. prepareStatement(SQL語(yǔ)句)pstmt.executeQuery();pstmt.executeUpdate();JDBC數(shù)據(jù)庫(kù)連接預(yù)處理器使用pstmt=con. prepareStatement(insert into users values(?,?,?);/設(shè)置參數(shù)pstmt.setInt(1,1);pstmt.setString

6、(2,”tom”);pstmt.setInt(3,27);pstmt.executeUpdate();JDBC數(shù)據(jù)庫(kù)連接PreparedStatement和Statement的區(qū)別預(yù)處理可以將要執(zhí)行的SQL先進(jìn)行編譯,下次使用時(shí)可以直接執(zhí)行已經(jīng)編譯過的代碼,普通的處理器每次執(zhí)行時(shí)都需要重新編譯預(yù)處理使用參數(shù)注入的方式增強(qiáng)SQL操作的安全性,防止外部的惡意參數(shù)注入JDBC數(shù)據(jù)庫(kù)連接使用CallableStatement執(zhí)行存儲(chǔ)過程CallableStatement cstmp=con. prepareCall(“ call 過程名”);/也可以使用?進(jìn)行占位,實(shí)現(xiàn)參數(shù)注入cstmp.setInt

7、(索引,參數(shù));/執(zhí)行cstmp.execute();JDBC數(shù)據(jù)庫(kù)連接帶輸出參數(shù)的存儲(chǔ)過程執(zhí)行CallableStatement cstmp=con. prepareCall(“ call 過程名 ”);/注冊(cè)輸出參數(shù)cstmp.registerOutParameter(索引,輸出參數(shù)類型);/執(zhí)行cstmp.execute();/獲取輸出參數(shù)String name=cstmp.getString(1);JDBC數(shù)據(jù)庫(kù)連接輸出參數(shù)為游標(biāo)的存儲(chǔ)過程CallableStatement cstmp=con. prepareCall(“ call 過程名 ”);/注冊(cè)輸出參數(shù)cstmp.registerOutPara

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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)論