基于ORM數(shù)據(jù)映射工具的設(shè)計(jì)與分析.pdf_第1頁(yè)
已閱讀1頁(yè),還剩65頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、面向?qū)ο笤O(shè)計(jì)的機(jī)制與關(guān)系模型的不同,造成了面向?qū)ο笤O(shè)計(jì)與關(guān)系數(shù)據(jù)庫(kù)設(shè)計(jì)之間的不匹配,本課題的背景就是建立這種不匹配的基礎(chǔ)之上。 面向?qū)ο笤O(shè)計(jì)基于如耦合、聚合、封裝等理論,數(shù)據(jù)綁定在對(duì)象上,并由對(duì)象中的方法處理。而關(guān)系模型基于數(shù)學(xué)原理,是以行、列和表的形式存儲(chǔ)數(shù)據(jù)。不同的理論基礎(chǔ)導(dǎo)致了不同的優(yōu)缺點(diǎn)。對(duì)象模型側(cè)重于使用包含數(shù)據(jù)和行為的對(duì)象來(lái)構(gòu)建應(yīng)用程序;關(guān)系模型則主要針對(duì)于數(shù)據(jù)的存儲(chǔ)。當(dāng)為訪問(wèn)數(shù)據(jù)尋找一種合適的方法時(shí),這種不匹配就成

2、為了主要矛盾:使用對(duì)象模型,常常通過(guò)對(duì)象之間的關(guān)系來(lái)進(jìn)行訪問(wèn);而根據(jù)關(guān)系理論,則通過(guò)表的連接、行列的復(fù)制來(lái)實(shí)施數(shù)據(jù)的存取。這種基本的不同使兩種機(jī)制的結(jié)合并不理想。換言之,需要一種映射機(jī)制來(lái)解決該矛盾,從而獲得成功的設(shè)計(jì)。 本課題主要工作是開(kāi)發(fā)一種“基于ORM的數(shù)據(jù)映射工具”。目標(biāo)是解決在以數(shù)據(jù)庫(kù)為中心的應(yīng)用程序中使用對(duì)象所面臨的上述問(wèn)題。該工具可以使應(yīng)用程序能夠使用一個(gè)關(guān)系型數(shù)據(jù)庫(kù)透明地存儲(chǔ)和檢索對(duì)象。解決方案是使用元數(shù)據(jù)方案來(lái)

3、描述業(yè)務(wù)對(duì)象與數(shù)據(jù)庫(kù)是如何對(duì)應(yīng)的。在運(yùn)行時(shí),該工具使用元數(shù)據(jù)自動(dòng)生成SQL、運(yùn)行請(qǐng)求并根據(jù)結(jié)果構(gòu)建對(duì)象。這意味著你不僅無(wú)須對(duì)你的業(yè)務(wù)對(duì)象進(jìn)行任何基于SQL的硬編碼,無(wú)須創(chuàng)建特定超類的子類或使用生成的代碼,不必了解任何有關(guān)SQL或數(shù)據(jù)庫(kù)的知識(shí)。你只需直接處理對(duì)象,就好像處理任何普通的Java對(duì)象一樣。 該工具由兩個(gè)功能模塊組成:MappingWorkbench(映射工作臺(tái))和DataAccessObject(DAO數(shù)據(jù)訪問(wèn)對(duì)象層)

4、。 MappingWorkbench提供圖形化界面用來(lái)構(gòu)建將對(duì)象映射到數(shù)據(jù)庫(kù)的元數(shù)據(jù)。這個(gè)工具使你能夠?qū)ava類映射到存儲(chǔ)其實(shí)例的關(guān)系數(shù)據(jù)庫(kù)表中,同時(shí)也將類的屬性映射到相關(guān)表的字段中。該工具使用由MappingWorkbench生成的元數(shù)據(jù)來(lái)描述業(yè)務(wù)對(duì)象與一個(gè)特定的數(shù)據(jù)庫(kù)模式是如何對(duì)應(yīng)的。 第二個(gè)功能模塊數(shù)據(jù)訪問(wèn)層封裝了對(duì)數(shù)據(jù)庫(kù)的訪問(wèn),允許開(kāi)發(fā)人員專注于商業(yè)領(lǐng)域的問(wèn)題。即意味著,封裝訪問(wèn)數(shù)據(jù)庫(kù)的類以為開(kāi)發(fā)者提供足夠簡(jiǎn)單

5、的CRUD接口(select、irsert、delete、update、selectInfoSet等接口),來(lái)實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)的增、刪、改、查詢等功能。另外,對(duì)數(shù)據(jù)庫(kù)設(shè)計(jì)也提供了封裝,使開(kāi)發(fā)者無(wú)需了解數(shù)據(jù)庫(kù)的私有實(shí)現(xiàn)。DAO層徹底地隱藏了存儲(chǔ)機(jī)制,隔離了可能的修改。 數(shù)據(jù)訪問(wèn)層需要元數(shù)據(jù)提供映射對(duì)象所需要的信息。當(dāng)商業(yè)規(guī)則如同以往發(fā)生變化時(shí),DAO層的代碼應(yīng)無(wú)需改變。另外,如果數(shù)據(jù)庫(kù)更改時(shí),可能是安裝新的數(shù)據(jù)庫(kù)或是DBA重組數(shù)據(jù)表,

6、唯一所需要修改的是元數(shù)據(jù)中的信息。 當(dāng)你操作業(yè)務(wù)對(duì)象時(shí),該工具就會(huì)構(gòu)建SQL查詢來(lái)更新數(shù)據(jù)庫(kù)。這是一個(gè)自動(dòng)化的過(guò)程,這樣就減少了對(duì)數(shù)據(jù)庫(kù)的依賴性,更加便于維護(hù),同時(shí)使對(duì)SQL語(yǔ)句不熟悉的開(kāi)發(fā)人員也能夠根據(jù)業(yè)務(wù)域編寫查詢。該工具負(fù)責(zé)所有生成SQL的任務(wù)并返回代表結(jié)果的對(duì)象。 本課題的理論與實(shí)際意義是提供一種易于使用的自動(dòng)數(shù)據(jù)映射工具,它有助于解決在以數(shù)據(jù)庫(kù)為中心的應(yīng)用程序中使用對(duì)象所面臨的這些問(wèn)題。它可以使應(yīng)用程序能夠使用

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫(kù)僅提供信息存儲(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)論