第10章-數(shù)據(jù)庫編程ppt課件(全)_第1頁
第10章-數(shù)據(jù)庫編程ppt課件(全)_第2頁
第10章-數(shù)據(jù)庫編程ppt課件(全)_第3頁
第10章-數(shù)據(jù)庫編程ppt課件(全)_第4頁
第10章-數(shù)據(jù)庫編程ppt課件(全)_第5頁
已閱讀5頁,還剩17頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、第10章 數(shù)據(jù)庫編程第10章 數(shù)據(jù)庫編程ppt課件(全)本章學(xué)習(xí)目標(biāo)掌握J(rèn)DBC的基本概念掌握J(rèn)DBC的工作原理掌握如何獲取數(shù)據(jù)庫連接掌握如何對(duì)數(shù)據(jù)進(jìn)行增、刪、查、改第10章 數(shù)據(jù)庫編程ppt課件(全)任務(wù)1:了解JDBC技術(shù)【任務(wù)內(nèi)容】了解JDBC技術(shù)【能力目標(biāo)】了解JDBC技術(shù)的概念和優(yōu)勢10.1 JDBC概述第10章 數(shù)據(jù)庫編程ppt課件(全) JDBC(Java DataBase Connection)內(nèi)嵌于Java中,提供了一種與平臺(tái)無關(guān)的用于執(zhí)行SQL語句的標(biāo)準(zhǔn) Java API,可以為多種關(guān)系數(shù)據(jù)庫提供統(tǒng)一訪問,它由一組用Java語言編寫的類和接口組成。有了JDBC,向各種關(guān)系數(shù)

2、據(jù)發(fā)送SQL語句就是一件很容易的事。換言之,有了JDBC API,就不必為訪問SQL Server數(shù)據(jù)庫專門寫一個(gè)程序,為訪問Oracle數(shù)據(jù)庫又專門寫一個(gè)程序,或?yàn)樵L問DB2數(shù)據(jù)庫又編寫另一個(gè)程序等等,程序員只需用JDBC API寫一個(gè)程序就夠了,它可向不同的數(shù)據(jù)庫發(fā)送SQL調(diào)用。第10章 數(shù)據(jù)庫編程ppt課件(全)客戶端與數(shù)據(jù)庫間的關(guān)系如下圖:第10章 數(shù)據(jù)庫編程ppt課件(全)任務(wù)2:掌握J(rèn)DBC的工作原理【任務(wù)內(nèi)容】掌握J(rèn)DBC的工作原理【能力目標(biāo)】掌握J(rèn)DBC的工作原理了解JDBC程序的組成部分10.1 JDBC概述第10章 數(shù)據(jù)庫編程ppt課件(全)JDBC的實(shí)質(zhì)就是使用統(tǒng)一的標(biāo)準(zhǔn)

3、化界面存取多種數(shù)據(jù)源,從而實(shí)現(xiàn)不同數(shù)據(jù)庫系統(tǒng)間的互操作性 。JDBC主要由一組Java類庫和接口庫組成,涉及的Java標(biāo)準(zhǔn)包包括java.sql.*和javax.sql.* 。第10章 數(shù)據(jù)庫編程ppt課件(全)由SUN公司提供Java源程序與不同廠商數(shù)據(jù)庫交互的標(biāo)準(zhǔn)接口。包括Connection接口、Statement接口、ResultSet接口等。由SUN公司提供,用來管理各個(gè)廠商的JDBC驅(qū)動(dòng)由各數(shù)據(jù)庫廠商提供,用來連接不同品牌的數(shù)據(jù)庫第10章 數(shù)據(jù)庫編程ppt課件(全)JDBC的任務(wù) (1) 與一個(gè)數(shù)據(jù)庫建立連接 (2) 向數(shù)據(jù)庫發(fā)送SQL語句 (3) 處理數(shù)據(jù)庫返回的結(jié)果 第10章

4、數(shù)據(jù)庫編程ppt課件(全)任務(wù)3:熟悉JDBC程序的代碼模板【任務(wù)內(nèi)容】熟悉JDBC程序的代碼模板【能力目標(biāo)】熟悉開發(fā)JDBC應(yīng)用程序的基本步驟熟悉JDBC程序的代碼模板10.1 JDBC概述第10章 數(shù)據(jù)庫編程ppt課件(全)(1) 將JDBC驅(qū)動(dòng)類裝載在Java虛擬機(jī)中 : Class.forName(驅(qū)動(dòng)類的名稱); (2) 加載驅(qū)動(dòng),并與數(shù)據(jù)庫建立連接 : Connection con; con=DriverManager.getConnection(數(shù)據(jù)連接字符串,數(shù)據(jù)庫用戶名,密碼);(3) 發(fā)送SQL語句,并得到結(jié)果集 :Statement st=con.createStatem

5、ent();ResultSet rs=st.executeQuery(select x,y,z from Table); (4) 處理結(jié)果 : while(rs.next() int x=rs.getInt(x); String s=rs.getString(2); float f=rs.getFloat(z); 第10章 數(shù)據(jù)庫編程ppt課件(全)任務(wù)4:了解JDBC驅(qū)動(dòng)類型【任務(wù)內(nèi)容】了解JDBC驅(qū)動(dòng)類型【能力目標(biāo)】理解不同類型JDBC驅(qū)動(dòng)10.2 JDBC的驅(qū)動(dòng)第10章 數(shù)據(jù)庫編程ppt課件(全)1. 純Java驅(qū)動(dòng)程序 純Java驅(qū)動(dòng)程序使用純Java語言編寫,底層使用套接字編程實(shí)現(xiàn)。

6、該驅(qū)動(dòng)程序采用針對(duì)特定數(shù)據(jù)源的網(wǎng)絡(luò)協(xié)議,客戶機(jī)直接與數(shù)據(jù)源連接。因?yàn)榧僇ava驅(qū)動(dòng)程序使用簡單,客戶端不需要安裝任何運(yùn)行庫或者中間件,所以推薦采用這類JDBC驅(qū)動(dòng)程序。 2. JDBC/ODBC橋連 JDBC/ODBC橋驅(qū)動(dòng)程序?qū)DBC API調(diào)用作為到另一類數(shù)據(jù)訪問API的映射來實(shí)現(xiàn),這類驅(qū)動(dòng)程序通常依賴本機(jī)庫,大大限制了其可移植性,而且涉及的數(shù)據(jù)庫傳輸中間環(huán)節(jié)較多,性能上遠(yuǎn)不如純Java驅(qū)動(dòng)程序。一般用于小型項(xiàng)目或測試。 第10章 數(shù)據(jù)庫編程ppt課件(全)3. 部分Java/部分本機(jī)代碼驅(qū)動(dòng)程序 部分Java/部分本機(jī)代碼驅(qū)動(dòng)程序一般用Java編程語言編寫,一部分用本機(jī)代碼編寫。由于使

7、用本機(jī)代碼,其可移植性受到較大限制。4. 中間數(shù)據(jù)訪問服務(wù)器 中間數(shù)據(jù)訪問服務(wù)器使用純Java客戶機(jī),并使用獨(dú)立于數(shù)據(jù)庫的協(xié)議與中間件服務(wù)器進(jìn)行通信。中間件服務(wù)器將客戶機(jī)請(qǐng)求傳給數(shù)據(jù)源。雖然該類型的驅(qū)動(dòng)程序可以實(shí)現(xiàn)平臺(tái)無關(guān),但由于涉及的數(shù)據(jù)傳輸中間環(huán)節(jié)較多,性能方面不如純Java驅(qū)動(dòng)程序。 第10章 數(shù)據(jù)庫編程ppt課件(全)任務(wù)5:了解JDBC-ODBC橋連【任務(wù)內(nèi)容】了解JDBC-ODBC橋連【能力目標(biāo)】了解JDBC-ODBC橋連學(xué)會(huì)配置數(shù)據(jù)源步驟學(xué)會(huì)建立一個(gè)數(shù)據(jù)庫連接的代碼模板10.2 JDBC的驅(qū)動(dòng)第10章 數(shù)據(jù)庫編程ppt課件(全)(1)演示配置過程:(2)示例如下:假設(shè)已經(jīng)配置好一

8、個(gè)叫school的ODBC數(shù)據(jù)源,數(shù)據(jù)庫連接字符串為jdbc:odbc:school,若登錄數(shù)據(jù)庫系統(tǒng)的用戶名為sa,密碼為sa,只需如下代碼即可建立一個(gè)數(shù)據(jù)庫連接:Class.forName(sun.jdbc.odbc.JdbcOdbcDriver);Connection conn=DriverManager.getConnection(jdbc:odbc:school,sa,sa);第10章 數(shù)據(jù)庫編程ppt課件(全)任務(wù)6:了解純Java驅(qū)動(dòng)方式【任務(wù)內(nèi)容】了解純Java驅(qū)動(dòng)方式【能力目標(biāo)】了解純Java驅(qū)動(dòng)方式學(xué)會(huì)使用純Java驅(qū)動(dòng)方式進(jìn)行數(shù)據(jù)庫連接的步驟10.2 JDBC的驅(qū)動(dòng)第10

9、章 數(shù)據(jù)庫編程ppt課件(全)使用純Java驅(qū)動(dòng)方式進(jìn)行數(shù)據(jù)庫連接,首先需要下載數(shù)據(jù)庫廠商提供的驅(qū)動(dòng)程序jar包,并將jar包引入項(xiàng)目中。以SQL Server 2005為例,可從微軟官方網(wǎng)站下載驅(qū)動(dòng)程序jar包,并查看相關(guān)幫助文檔,獲得驅(qū)動(dòng)類的名稱以及數(shù)據(jù)庫連接字符串。假設(shè)在SQL Server 2005中已經(jīng)建立名稱為school的數(shù)據(jù)庫,數(shù)據(jù)庫用戶名為sa,密碼為sa,驅(qū)動(dòng)程序包為sqljdbc.jar。代碼示例:Class.forName(com.microsoft.sqlserver.jdbc.SQLServerDriver);Connection conn=DriverManage

10、r.getConnection(“jdbc:sqlserver:/localhost:1433:DatabaseName=school,sa,sa);第10章 數(shù)據(jù)庫編程ppt課件(全)以mysql數(shù)據(jù)庫為例:Class.forName(com.mysql.jdbc.Driver);Connection conn=DriverManager.getConnection(jdbc:mysql:/localhost:3306/test1,root,“root);第10章 數(shù)據(jù)庫編程ppt課件(全)任務(wù)7:開發(fā)任務(wù)描述【任務(wù)內(nèi)容】對(duì)校園管理系統(tǒng)中的學(xué)生信息進(jìn)行管理【能力目標(biāo)】掌握Statement對(duì)

11、象的用法掌握PreparedStatement對(duì)象的用法掌握使用JDBC對(duì)信息進(jìn)行增、刪、查、改10.3 JDBC的實(shí)際應(yīng)用第10章 數(shù)據(jù)庫編程ppt課件(全)(1)executeUpdate方法執(zhí)行插入操作(JDBC-ODBC橋連) 范例:NewStudentDB.java (2)executeUpdate方法執(zhí)行插入操作(純Java驅(qū)動(dòng)連接) 范例: NewStudentDB2.java (3)使用ConnectionManager類建立連接執(zhí)行關(guān)閉 范例:ConnectionManager.java(4)使用PreparedStatement執(zhí)行插入操作 范例:PreparedState

12、mentDemo.java(5)使用PreparedStatement執(zhí)行刪除操作 范例:PreparedStatementDeleteDemo.java(6)使用PreparedStatement執(zhí)行更新操作 范例:PreparedStatementUpdateDemo.java(7)使用PreparedStatement執(zhí)行查詢操作 范例:PreparedStatementSelectDemo.java第10章 數(shù)據(jù)庫編程ppt課件(全)作 業(yè)1. 簡述Statement與PreparedStatement的區(qū)別。2. 簡述配置數(shù)據(jù)源(ODBC)的步驟。3. 簡述JDBC-ODBC橋連與純Java驅(qū)動(dòng)連接的區(qū)別。4. 簡述過程對(duì)象Statement執(zhí)行SQL命令的方法有哪些。5. 主要

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論