數(shù)據(jù)訪問對(duì)象_第1頁(yè)
數(shù)據(jù)訪問對(duì)象_第2頁(yè)
數(shù)據(jù)訪問對(duì)象_第3頁(yè)
數(shù)據(jù)訪問對(duì)象_第4頁(yè)
數(shù)據(jù)訪問對(duì)象_第5頁(yè)
已閱讀5頁(yè),還剩7頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

數(shù)據(jù)訪問對(duì)象第一個(gè)面向?qū)ο蟮慕涌?1介紹優(yōu)點(diǎn)識(shí)別數(shù)據(jù)庫(kù)缺點(diǎn)目錄030204基本信息數(shù)據(jù)訪問對(duì)象(DataAccessObjects,DAO)DAO是第一個(gè)面向?qū)ο蟮慕涌?,它是露丁MerofJet數(shù)據(jù)岸引擎(《由MiroftAcce所使用》,并允許VauatBasce安者通過ODBC像直接連接到其他數(shù)據(jù)庫(kù)一樣,直接連接到Aces表。DAO最適用于單系統(tǒng)應(yīng)用程序或小范圍本地分布使用DAO是一種應(yīng)用程序編程接口CAPD,DA對(duì)象封閉了ASS的Je函數(shù)。通過jet函數(shù),它還可以訪問其他的結(jié)構(gòu)化查詢語(yǔ)言(SQL)數(shù)據(jù)庫(kù)。12EE開發(fā)人員使用數(shù)據(jù)訪問對(duì)象(DAO設(shè)計(jì)模式把底層的數(shù)據(jù)訪問邏輯和高層的高務(wù)邏輯分開,實(shí)現(xiàn)DAO模式能夠更加專注于編寫數(shù)據(jù)訪問代碼。介紹介紹DAO就是DatabaseAccessObjects,數(shù)據(jù)訪問對(duì)象的英文縮寫。在VB中提供了兩種與Jet數(shù)據(jù)庫(kù)引擎接口的方法:Data控件和數(shù)據(jù)訪問對(duì)象(DAO)。Data控件只給出有限的不需編程而能訪問現(xiàn)存數(shù)據(jù)庫(kù)的功能,而DAO模型則是全面控制數(shù)據(jù)庫(kù)的完整編程接口。Data控件將常用的DAO功能封裝在其中,它與DAO控件的關(guān)系就好像內(nèi)存與CACHE之間的關(guān)系一樣,所以這兩種方法并不是互斥的,實(shí)際上,它們常同時(shí)使用。DAO數(shù)據(jù)訪問對(duì)象(DataAccessObjects)是一種面向?qū)ο蟮慕缑娼涌?。通過DAO/Jet功能可以訪問ISAM數(shù)據(jù)庫(kù),使用DAO/ODBCDirect功能可以實(shí)現(xiàn)遠(yuǎn)程RDO功能。使用DAO的程序編碼非常簡(jiǎn)單,DAO提供豐富的游標(biāo)(Cursor)類型的結(jié)果集和非游標(biāo)(Cursor-Less)類型的結(jié)果集,同DDL(數(shù)據(jù)描述語(yǔ)言)的功能很類似。現(xiàn)在vb數(shù)據(jù)庫(kù)編程大都使用ADO,很少人還用DAO.DAO是集合,對(duì)象,方法和屬性;它用對(duì)象集合來處理數(shù)據(jù)庫(kù),表,視圖和索引等。使用DAO編程,可以訪問并操作數(shù)據(jù)庫(kù),管理數(shù)據(jù)庫(kù)的對(duì)象和定義數(shù)據(jù)庫(kù)的結(jié)構(gòu)等。DAO模型是設(shè)計(jì)關(guān)系數(shù)據(jù)庫(kù)系統(tǒng)結(jié)構(gòu)的對(duì)象類的集合。它們提供了完成管理一個(gè)關(guān)系型數(shù)據(jù)庫(kù)系統(tǒng)所需的全部操作的屬性和方法,這其中包括創(chuàng)建數(shù)據(jù)庫(kù),定義表、字段和索引,建立表間的關(guān)系,定位和查詢數(shù)據(jù)庫(kù)等。識(shí)別數(shù)據(jù)庫(kù)識(shí)別數(shù)據(jù)庫(kù)VisualBasic通過DAO和Jet引擎可以識(shí)別三類數(shù)據(jù)庫(kù):VisualBasic數(shù)據(jù)庫(kù)也就是*.MDB數(shù)據(jù)庫(kù)外部數(shù)據(jù)庫(kù)它們是使用幾種流行格式的“索引順序訪問方法(ISAM)”數(shù)據(jù)庫(kù),這些流行格式包括Btrieve、dBASEIII、dBASEIV、MicrosoftFoxProversions2.0和2.5以及Paradoxversions3.x和4.0。在VisualBasic中能夠創(chuàng)建和操作所有以上格式的數(shù)據(jù)庫(kù)。也可以訪問文本文件數(shù)據(jù)庫(kù)和MicrosoftExcel或Lotus1-2-3電子表格。ODBC數(shù)據(jù)庫(kù)包括符合ODBC標(biāo)準(zhǔn)的客戶/服務(wù)器數(shù)據(jù)庫(kù),如MicrosoftSQLServer。要在VisualBasic中創(chuàng)建真正的客戶/服務(wù)器應(yīng)用程序,可以使用ODBCDirect直接把命令傳遞給服務(wù)器處理。也就是說VisualBasic還支持其它不使用Jet數(shù)據(jù)庫(kù)引擎的數(shù)據(jù)訪問方法。數(shù)據(jù)訪問對(duì)象的ODBCDirect模式允許使用同樣的對(duì)象模型和語(yǔ)法繞過Jet引擎直接訪問ODBC數(shù)據(jù)。優(yōu)點(diǎn)優(yōu)點(diǎn)使用數(shù)據(jù)訪問對(duì)象的優(yōu)點(diǎn)是應(yīng)用程序的兩個(gè)重要部分之間相對(duì)簡(jiǎn)單并嚴(yán)格分離,它們可以但不應(yīng)該彼此了解任何東西,并且兩者可預(yù)期的頻繁和獨(dú)立發(fā)展。改變業(yè)務(wù)邏輯可以依賴于相同的DAO接口,而對(duì)持久性邏輯的更改只要接口保持正確實(shí)現(xiàn),就不會(huì)影響DAO客戶端。存儲(chǔ)的所有細(xì)節(jié)都隱藏在應(yīng)用程序的其余部分中(見信息隱藏)。因此,可以修改一個(gè)DAO實(shí)現(xiàn)而不影響應(yīng)用程序的其余部分,從而可能實(shí)現(xiàn)對(duì)持久性機(jī)制的更改。DAO充當(dāng)了應(yīng)用程序與數(shù)據(jù)庫(kù)之間的中介,它們?cè)趯?duì)象與數(shù)據(jù)庫(kù)記錄之間來回轉(zhuǎn)移數(shù)據(jù)。用測(cè)試替身取代DAO可以促進(jìn)代碼的單元測(cè)試,使測(cè)試不依賴于持久層。在Java編程語(yǔ)言的非特定上下文中,數(shù)據(jù)訪問對(duì)象作為一項(xiàng)設(shè)計(jì)概念可以用多種方式實(shí)現(xiàn)。這可以將應(yīng)用程序中的數(shù)據(jù)訪問部分分離為非常簡(jiǎn)單的接口,遷移到框架或商業(yè)產(chǎn)品。DAO編碼范例可能需要一些技巧。像是JavaPersistenceAPI和EnterpriseJavaBeans之類的技術(shù)已內(nèi)置在應(yīng)用程序服務(wù)器中,可以在JavaEE應(yīng)用程序服務(wù)器的應(yīng)用程序中使用。商業(yè)產(chǎn)品如TopLink可以在基于對(duì)象關(guān)系映射(ORM)的產(chǎn)品上使用。流行的開源ORM產(chǎn)品包括Doctrine(PHP)、Hibernate、iBATIS,以及JPA實(shí)現(xiàn)(例如ApacheOpenJPA)。

缺點(diǎn)缺點(diǎn)使用DAO的潛在缺點(diǎn)包括抽象泄漏、代碼重復(fù)和抽象反演。尤其是將DAO作為常規(guī)Java對(duì)象的抽象會(huì)隱藏每個(gè)數(shù)據(jù)庫(kù)訪問的高成本,并且可能強(qiáng)迫開發(fā)人員觸發(fā)多個(gè)數(shù)據(jù)庫(kù)查詢來檢索

溫馨提示

  • 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)論