java13(數(shù)據(jù)庫編程).ppt_第1頁
java13(數(shù)據(jù)庫編程).ppt_第2頁
java13(數(shù)據(jù)庫編程).ppt_第3頁
java13(數(shù)據(jù)庫編程).ppt_第4頁
java13(數(shù)據(jù)庫編程).ppt_第5頁
已閱讀5頁,還剩10頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、數(shù)據(jù)庫編程,JDBC概述,JDBC (Java Database Connectivity)。 Java語言有著廣泛的應(yīng)用前景,其中一個重要的方面就是與各類數(shù)據(jù)庫連接查詢的SQL語句的實(shí)現(xiàn)。 SQL是一個綜合的、通用的、功能極強(qiáng)的關(guān)系數(shù)據(jù)庫語言,它包括數(shù)據(jù)定義、數(shù)據(jù)操縱、數(shù)據(jù)管理、存取保護(hù)和處理控制等多種功能。利用表、索引、碼、行、列等來確定存儲位置。 SQL語言本身并不是一個很完整的編程語言,一般它都與其他編程語言結(jié)合起來使用,JDBC就是將java語言與SQL結(jié)合的一個很好的編程接口。,JDBC概述,JDBC庫作為執(zhí)行SQL語句的接口,它允許大量的程序針對JDBC庫接口編程而不需要過多的擔(dān)

2、心應(yīng)用程序使用的是什么數(shù)據(jù)庫。 JDBC應(yīng)用程序與其使用的特定類型的數(shù)據(jù)庫系統(tǒng)之間有很好的隔離,因此不需要針對特定的數(shù)據(jù)庫重新編寫。,JDBC概述,JDBC概述,Java應(yīng)用程序通過JDBC API(java.sql包)與數(shù)據(jù)庫連接,而實(shí)際的動作則是由JDBC驅(qū)動程序管理器(JDBC Driver Manager)通過JDBC驅(qū)動程序與數(shù)據(jù)庫系統(tǒng)進(jìn)行連接。 真正提供存取數(shù)據(jù)庫功能的是JDBC驅(qū)動程序,用戶如果想要存取某一種具體的數(shù)據(jù)庫系統(tǒng)中存儲的數(shù)據(jù),就必須要擁有對應(yīng)于該數(shù)據(jù)庫系統(tǒng)的驅(qū)動程序。 JDBC提供的主要功能如下: (1) 同一個數(shù)據(jù)庫建立連接; (2) 向數(shù)據(jù)庫發(fā)送SQL語句; (3

3、) 處理數(shù)據(jù)庫返回的結(jié)果。,數(shù)據(jù)庫連接,每個JDBC應(yīng)用程序至少要有一個JDBC驅(qū)動程序版本,JDBC驅(qū)動程序是Driver接口類的實(shí)現(xiàn)。 Driver類是驅(qū)動程序廠家實(shí)現(xiàn)的接口,Driver使DriverManager和JDBC應(yīng)用程序?qū)涌梢元?dú)立于具體的數(shù)據(jù)庫系統(tǒng)。 通過java.sql 庫提供的統(tǒng)一接口,使得可以在java環(huán)境下不必對程序作大規(guī)模的修改,只要更改相應(yīng)的驅(qū)動程序,即可實(shí)現(xiàn)對各類數(shù)據(jù)庫的操作,JDBC API,java.sql.DriveManager負(fù)責(zé)裝載、拆除驅(qū)動程序,負(fù)責(zé)連接驅(qū)動程序。 java.sql.Connection實(shí)現(xiàn)對某一數(shù)據(jù)庫的連接功能(建立連接)。 ja

4、va.sql.Statement 在一個給定的連接中作為執(zhí)行SQL語句的容器。 java.sql.PreparedStatement用于執(zhí)行預(yù)編譯的SQL聲明 java.sql.CallableStatement用于執(zhí)行數(shù)據(jù)庫中存儲過程的調(diào)用 java.sql.ResultSet 保存SQL語句執(zhí)行結(jié)果,編寫JDBC程序的步驟,加載JDBC驅(qū)動程序 創(chuàng)建數(shù)據(jù)庫連接 執(zhí)行SQL語句 接收并處理SQL的返回結(jié)果 關(guān)閉創(chuàng)建的各個對象,JDBC編程模型,JDBC編程舉例,String className=sun.jdbc.odbc.JdbcOdbcDriver; Class.forName(class

5、Name); String url=jdbc:odbc:mydsn Connection con=DriverManager.getConnection(url); Statement stmt=con.createStatement(); String sql=select * from authors; ResultSet rs=stmt.executeQuery(sql); while(rs.next() System.out.println(rs.getString(1); rs.close(); stmt.close(); con.close();;,DriverManager,JD

6、BC數(shù)據(jù)庫驅(qū)動程序由實(shí)現(xiàn)了Driver接口的類定義。 DriverManager類負(fù)責(zé)建立與數(shù)據(jù)源的連接,通過JDBC驅(qū)動程序進(jìn)行訪問。 為了使用你想要使用的驅(qū)動程序,可以通過調(diào)用Class類中的靜態(tài)方法forName(),傳遞一個String對象作為參數(shù),其中包含著該驅(qū)動程序的類名,這樣可以明確裝入驅(qū)動程序。 如果無法找到指定的驅(qū)動程序類名,forName()方法會拋出類型未ClassNotFoundException的異常。 每個驅(qū)動程序類一般情況下都會在裝入的時候生成一個自身的實(shí)例,并且通過自動調(diào)用DriverManager類方法注冊這個實(shí)例。,JDBC-ODBC橋,JDBC-ODBC橋

7、是一種類型的JDBC驅(qū)動程序,它通過將JDBC操作轉(zhuǎn)換為ODBC(Open DataBase Connectivity)操作來實(shí)現(xiàn)JDBC操作 JDBC-ODBC橋驅(qū)動程序由JavaSoft公司提出,Intersolv公司研制。提出這種類型驅(qū)動程序的原因,是由于ODBC已經(jīng)成為數(shù)據(jù)庫訪問的業(yè)界標(biāo)準(zhǔn),并得到了廣泛應(yīng)用。利用JDBC-ODBC橋可以使程序開發(fā)人員不需要學(xué)習(xí)更多的知識就可以編寫JDBC應(yīng)用程序,并能夠充分利用現(xiàn)有的大量ODBC數(shù)據(jù)源。,JDBC-ODBC橋,JDBC-ODBC橋驅(qū)動程序可以使JDBC能夠訪問幾乎所有類型的數(shù)據(jù)庫,它隨著sun.jdbc.odbc包與Java 2 SDK一起自動安裝,無需另外的的特殊配置。 當(dāng)我們加載的類名為:sun.jdbc.odbc.JdbcOdbcDriver時,就意味著我們使用了JDBC-ODBC橋的方式來訪問數(shù)據(jù)庫,JDBC URL,JDBC URL提供了一種標(biāo)識數(shù)據(jù)庫的方法,可以使相

溫馨提示

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

最新文檔

評論

0/150

提交評論