基于對象關系映射的數據持久層框架的改進設計與實現(xiàn).pdf_第1頁
已閱讀1頁,還剩54頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、計算機的出現(xiàn)對人類來說具有著劃時代的意義,計算機擁有高速的計算能力,在完成精確任務和批量計算方面比人類更穩(wěn)定,成為了輔助科技進步的強力工具。隨著永久儲存介質(如磁盤等)的出現(xiàn),使計算機又擁有了人類無法企及的“記憶能力”。如何管理、使用計算機的“記憶能力”呢?數據庫技術應運而生。有了數據庫,我們可以將數據從計算機內存保存到其他永久儲存設備中以便于日后的查詢、修改,這也就是所謂的數據持久化。 數據庫技術經過幾代的發(fā)展,目前最成熟和應

2、用最廣泛的是關系型數據庫,它是從數學模型發(fā)展起來的,用嚴格的數學邏輯和方法管理數據,擁有成熟、可靠、高效的數據操控能力。但不幸的是,數據庫的發(fā)展并沒能和軟件技術的發(fā)展相匹配。隨著軟件工工程技術的發(fā)展,面向對象的設計、開發(fā)方法已經是軟件生產的主流技術。但由于關系型數據庫是不面向對象的,這使得數據在計算機系統(tǒng)中不得不以兩種形式存在,在業(yè)務系統(tǒng)的內存中,數據表現(xiàn)為對象,在數據庫中表現(xiàn)為關系數據。內存中的對象存在著關聯(lián)和繼承等關系,而數據庫中無

3、法表現(xiàn)多對多關聯(lián)和繼承關系。在面向對象數據庫技術可以成熟應用之前,為了能夠把對象數據持久化到關系數據庫中,出現(xiàn)了關系一對象映射(Object-Relationg Mapping簡稱ORM)思想和技術。 在JAVA領域,通過JDBC編程來訪問數據庫是傳統(tǒng)的做法,這種做法是最原始、最直接的。JDBC的數據庫操作是基于行集的,雖然它有著高效的運行效率,卻必須在JAVA程序中嵌套大量的SQL語句,應用程序擔負著繁重的操控數據的工作,并使

4、得項目難以維護。雖然根據MVC的思想可以通過JDBC編程來開發(fā)單獨的持久層,封裝對數據庫的操作,提供統(tǒng)一的接口,供業(yè)務層使用。但這要求對.JDBC有很高的專業(yè)知識,在項目組織中,不得不抽出最好的設計、開發(fā)人員專門進行持久層的設計開發(fā),在業(yè)務邏輯和數據持久化方案之間艱難的調和項目組的開發(fā)資源,使得有限的人力不能專注于業(yè)務邏輯的研究,往往造成項目開發(fā)中顧此失彼。而且由于數據庫結構的不同,每次開發(fā)的持久層無法直接重復使用,使得程序復用變得困難

5、,每次都要開發(fā)專用卻又功能相似的持久層程序,使得項目開發(fā)陷入重復工作和低效率之中。龐大的持久層代碼隨著項目復雜度的增加,也會變得越來越難以維護,假設項目組當初開發(fā)持久層的人員中途撤出,其他人員面對一個充滿了sql語句和數據操作邏輯的持久層,很難在短時間內進行有效的維護。 幸運的是,基于ORM思想的持久層框架為我們解決上述問題。ORM是一種描繪對象與關系數據相互轉換并持久化對象數據的原則思想,基于它的軟件框架即為ORM框架,現(xiàn)在有

6、許多ORM持久化框架可供選擇,比如EJB、Hibernate、IBATIS、TopLink、OJB等等,他們承擔了對象數據持久化的主要工作,不但可以自動將對象與關系數據進行對應(當然這需要一些前期配置策略),更能自動產生sql語句,大大減少了應用系統(tǒng)持久層的代碼量,同時也就大大減輕了開發(fā)人員的工作量。他們有些是商業(yè)性的,有些則是非商業(yè)的。其中非商業(yè)的Hibernate是目前最成熟和使用最廣泛的ORM框架。它之所以能夠流行,要歸功于以下的

7、優(yōu)勢: 1.它是開源的。開發(fā)者可根據需要研究其源代碼,定制自己的功能。 2.它在所有ORM框架中擁有最詳細的文檔,使得研究和使用更方便。 3.僅對JDBC做了輕量級的封裝,如有必要,開發(fā)者可以繞過它,直接使用JDBC。 4.具有良好的可擴展性,使其改進成為可能,并最終保持旺盛的生命力。 5.它既適用于獨立的JAVA程序,也適用于JAVA WEB應用,還可以與EJB集成,大大拓展了其使用范圍。

8、 6.它可以與多種WEB服務器、應用服務器相集成,并適用于目前幾乎所有的主流數據庫。 本文首先探討ORM框架產生原因以及它的基本思想和原理,在研究與之相關的面向對象、持久化、持久層、DAO、MDA的理論思想以及目前流行的ORM框架的基礎上,分析了其主要優(yōu)點,也總結出其存在的三個主要缺陷。 1.由于面向對象技術強制用戶使用對象來代表關系型數據,這會導致大量的冗余數據存放于內存中,這些冗余數據并不參與當前的事務處理,并在生

9、命周期結束的時候被析構函數或者垃圾收集器釋放。 2.復雜的映射和關聯(lián)管理,使ORM對系統(tǒng)性能造成了較大的影響。在ORM系統(tǒng)中,對象之間通常通過對象引用和各種集合屬性將對象相互關聯(lián)起來,組成更加復雜的復合對象。應用程序同通過逐個訪問成員對象來完成對這些復合對象的訪問。這種在多個成員對象之間的導航操作導致了客戶端和后端數據庫系統(tǒng)之間的獲取操作大幅度增加,從而導致了嚴重的性能問題。 3.ORM使用配置文件和注釋來設置映射關系和

溫馨提示

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

評論

0/150

提交評論