




已閱讀5頁(yè),還剩12頁(yè)未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
Java數(shù)據(jù)庫(kù)編程接口 JDBC,教材第9章,JDBC概述,ODBC(Open DataBase Connectivity) 微軟制定的一個(gè)C語言與數(shù)據(jù)庫(kù)的統(tǒng)一接口 JDBC(Java DataBase Connectivity) 為Java語言定義的一個(gè)SQL調(diào)用級(jí)接口。 為訪問關(guān)系數(shù)據(jù)庫(kù)提供了一個(gè)標(biāo)準(zhǔn)接口。,JDBC概述,Java application,JDBC Driver Manager,JDBC API,JDBC Driver (數(shù)據(jù)庫(kù)廠家提供),JDBC Driver API,DBMS,數(shù)據(jù)庫(kù)連接,每個(gè)JDBC應(yīng)用程序至少要有一個(gè)JDBC驅(qū)動(dòng)程序版本,JDBC驅(qū)動(dòng)程序是Driver接口類的實(shí)現(xiàn)。 Driver類是驅(qū)動(dòng)程序廠家實(shí)現(xiàn)的接口,Driver使DriverManager和JDBC應(yīng)用程序?qū)涌梢元?dú)立于具體的數(shù)據(jù)庫(kù)系統(tǒng)。,應(yīng)用程序,JDBC,Oracle 驅(qū)動(dòng)程序,MySQL 驅(qū)動(dòng)程序,JDBC API(類),java.sql.DriveManager 負(fù)責(zé)裝載、拆除驅(qū)動(dòng)程序,負(fù)責(zé)連接驅(qū)動(dòng)程序。 java.sql.Connection 實(shí)現(xiàn)對(duì)某一數(shù)據(jù)庫(kù)的連接功能(建立連接)。 java.sql.Statement 在一個(gè)給定的連接中作為執(zhí)行SQL語句的容器。 java.sql.PreparedStatement 用于執(zhí)行預(yù)編譯的SQL聲明 java.sql.CallableStatement 用于執(zhí)行數(shù)據(jù)庫(kù)中存儲(chǔ)過程的調(diào)用 java.sql.ResultSet 保存SQL語句執(zhí)行結(jié)果,數(shù)據(jù)庫(kù)連接例(Oracle),Oracle安裝后,設(shè)置classpath,例如: CLASSPATHc:oracleora92jdbclibojdbc14.jar 注冊(cè)(裝入)oracle jdbc驅(qū)動(dòng)程序 語法:DriverManager.registerDriver(Driver driver) 例:DriverManager.registerDriver( new oracle.jdbc.driver.OracleDriver(); 建立連接(到指定數(shù)據(jù)庫(kù)) Connection con = DriverManager.getConnection (“jdbc:oracle:thin:166.111.7.248:1521:o8i2“, “scott“, “tiger“); 該方法將挑選一個(gè)合適的已注冊(cè)的JDBC驅(qū)動(dòng)程序,執(zhí)行sql語句Statement類,建立Statement類對(duì)象(sql容器) Statement stmt = conn.createStatement(); 查詢: ResultSet rs = stmt.executeQuery(“select ename,age from emp“); 修改: int count = stmt.executeUpdate(“update emp set age = 30 where ename=MARTIN “) INSERT, UPDATE or DELETE (返回行數(shù)) DDL 語句(返回0),ResultSet類的方法,移動(dòng)指針 boolean rs.next() ; 取結(jié)果集當(dāng)前行的數(shù)據(jù): 語法:getXXX(列序號(hào)或列名) /方法名的重載 String rs.getString(“ename“) ; int rs.getInt (“age“) ; 或 int rs.getInt (2) ;,訪問數(shù)據(jù)庫(kù)例,import java.sql.* ; class Test public static void main (String args) throws SQLException DriverManager.registerDriver(new oracle.jdbc.OracleDriver(); Connection con = DriverManager.getConnection ( “jdbc:oracle:thin:166.111.7.248:1521:o8i2“, “帳號(hào)“ , “密碼“); Statement stmt=con.createStatement(); /創(chuàng)建Statement對(duì)象 System.out.println(“-查詢并顯示所有系的學(xué)生-“); ResultSet rs=stmt.executeQuery(“SELECT * FROM student order by birthday“); while(rs.next() /顯示查詢結(jié)果 System.out.print(rs.getString(“sno“) + “ “); System.out.print(rs.getString(“sname“) + “ “); System.out.print(rs.getString(“sex“) + “ “);,9-1,訪問數(shù)據(jù)庫(kù)例,System.out.print(rs.getDate(“birthday“) + “ “); System.out.println(rs.getString(“dno“) + “ “); ; System.out.println(“-統(tǒng)計(jì)并顯示各系學(xué)生數(shù)-“); rs=stmt.executeQuery(“SELECT dno,count(*) as num FROM student group by dno“); while(rs.next() /顯示查詢結(jié)果 System.out.print(rs.getString(“dno“) + “ “); System.out.println(rs.getInt(“num“) + “ “); ; System.out.println(“-插入一個(gè)學(xué)生記錄:-“); String s = “ INSERT INTO student VALUES(s00000, 林時(shí), 男 , 21-4月-1990 , d01) “ ; stmt.executeUpdate(s); /添加一條記錄,訪問數(shù)據(jù)庫(kù)例,System.out.println(“-查詢d01系的學(xué)生:-“); rs=stmt.executeQuery(“SELECT * FROM student WHERE dno=d01 “); /查詢 while(rs.next() /顯示 System.out.print(rs.getString(“sno“) + “ “); System.out.println(rs.getString(“sname“) + “ “); ; System.out.println(“-刪除一個(gè)學(xué)生記錄-“); stmt.executeUpdate(“ DELETE FROM student WHERE sname=林時(shí) “); System.out.println(“-刪除記錄后,查詢d01系的學(xué)生-“); rs=stmt.executeQuery(“SELECT sno,sname FROM student WHERE dno=d01 “); /查詢表格,訪問數(shù)據(jù)庫(kù)例,while(rs.next() /顯示查詢結(jié)果 System.out.print(rs.getString(“sno“) + “ “); System.out.println(rs.getString(“sname“) + “ “); ; stmt.close(); /關(guān)閉語句 con.close(); /關(guān)閉連接 /main() ,9-1,PreparedStatement類,予編譯(反復(fù)執(zhí)行效率高),帶參數(shù) PreparedStatement ps = conn. preparedStatement( “update emp set sal=sal+? where eno=? “) ; ps.setFloat(1, 210.00) ps.setInt(2, 110592) ps.executeQuery(); ps.executeUpdate() ;,CallableStatement類,執(zhí)行存儲(chǔ)過程 CallableStatement cs = conn.prepareCall(“ call 過程名 “); cs. executeQuery(); ps.execUpdate() ;,JDBC API 層次,驅(qū)動(dòng)程序管理器,驅(qū)動(dòng)程序,連接,語句,預(yù)處理語句,可調(diào)用語句,結(jié)果集,結(jié)果集,結(jié)果集,驅(qū)動(dòng)程序?qū)?應(yīng)用程序?qū)?JDBC應(yīng)用,java ap
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 四年級(jí)語文上冊(cè)第七單元26那片綠綠的爬山虎拓展閱讀母親肖復(fù)興素材魯教版
- 廣東省廉江市實(shí)驗(yàn)學(xué)校高中政治2.2價(jià)格變動(dòng)的影響練一練必修1
- 北京專版2024年中考生物復(fù)習(xí)主題十降地生活課時(shí)訓(xùn)練28降地生活
- 江蘇專版2024中考道德與法治復(fù)習(xí)方案第一部分七上第01課時(shí)成長(zhǎng)的節(jié)拍提分訓(xùn)練
- 跨文化商務(wù)溝通與行政禮儀
- 閱讀開啟智慧之門的關(guān)鍵
- 貓寄養(yǎng)協(xié)議合同范本
- 財(cái)務(wù)管理軟件在企業(yè)的應(yīng)用與實(shí)施案例分析
- 跨國(guó)企業(yè)財(cái)務(wù)報(bào)告的準(zhǔn)確性與可靠性保障
- 跨國(guó)合作中的知識(shí)產(chǎn)權(quán)保護(hù)策略研究
- 蛋糕投標(biāo)書技術(shù)方案
- 機(jī)房建設(shè)驗(yàn)收?qǐng)?bào)告
- 環(huán)境巖土工程學(xué)課件-東南大學(xué)-潘華良境巖土工程學(xué)概論-9大環(huán)境巖土工程問題
- 公路養(yǎng)護(hù)的檔案管理-公路養(yǎng)護(hù)檔案的內(nèi)容及分類
- 武漢大學(xué)《819宏微觀經(jīng)濟(jì)學(xué)》知識(shí)板塊歸納與重點(diǎn)名詞解釋大全
- 脊柱內(nèi)鏡應(yīng)用與進(jìn)展
- 學(xué)校食品安全會(huì)議記錄內(nèi)容
- 中國(guó)古代文物賞析
- 2022年江蘇省錄用公務(wù)員筆試《公安專業(yè)科目》試題(網(wǎng)友回憶版)
- 光伏電站螺旋地樁承載力計(jì)算軟件
- 醫(yī)用耗材配送服務(wù)方案
評(píng)論
0/150
提交評(píng)論