持久層

持久層

數據架構類型
持久(persistence)就是把數據保存到可掉電式存儲設備中供以後使用。數據持久層位于領域層和基礎架構層之間。由于對象範例和關系範例這兩大領域之間存在“阻抗不匹配”,所以把數據持久層單獨作為J2EE體系的一個層提出來的原因就是能夠在對象-關系數據庫之間提供一個成功的企業級映射解決方案,盡最大可能彌補這兩種範例之間的差異。
    中文名:持久層 外文名:Data Persistence 适用領域: 所屬學科: 别名:數據持久層 所屬分類:三層結構

基本介紹

J2EE的三層結構是指表示層(Presentation),業務邏輯層(Business Logic)以及基礎架構層(Infrastructure),這樣的劃分非常經典,但是在實際的項目開發法中,開發者通常對三層結構進行擴展來滿足一些項目的具體要求,一個最常用的擴展就是将三層體系擴展為五層體系,即表示層(Presentation)、控制中介層(Controller/Mediator)、領域層(Domain)、數據持久層(Data Persistence)和數據源層(Data Source)。它其實是在三層架構中增加了兩個中間層。控制中介層位于表示層和領域層之間。

解決方案

JDBC

許多開發者用JDBC進行數據庫程序的開發。此種方式很多情況下都使用DAO模式,采用SQL進行查詢。雖然用此方式可以使應用程序代碼與具體的數據庫廠商和數據庫位置無關,不過JDBC是低級别的數據庫訪問方式,JDBC并不支持面向對象的數據庫表示。JDBC數據庫表示完全圍繞關系數據庫模型。在大型應用程序的DAO中書寫這樣的代碼,維護量是非常大的。

EJB

在J2EE的規範中,為EJB定義了兩種持久化的解決方案:一種是BMP,另一種是CMP。其中CMP不需要将SQL語句加入到代碼中。目前,在采用J2EE的應用中,EJB CMP方式得到了廣泛應用。更加引人注意的是,随着EJB規範的發展,CMP也包含了一些高級關系的内容。但是,CMP的使用比較複雜,對很多開發人員來說比較難以掌握。而且,不是在所有的情況下都适合在系統中采用EJB,而且想要非常清楚的了解EJB規範也是非常費時的。在用EJB編碼前,先要讓專家理解API,然後需要了解每一個容器部署時所要關注的技術。此外,許多情況下商用容器的性能和支持也不是很好。

JDO

JDO是一個存儲java對象的規範,JDO規範1.0的提出可以使你将精力集中在設計Java對象模型,然後在企業應用軟件架構的不同層面中存儲傳統的Java對象(Plain Old Java Objects,簡稱POJOs),采用JDOQL語言進行SQL操作。一些公司(包括sun)企圖根據JDO規範進行設計并實現JDO産品,然而他們都不能很好的進行實現,并且性能優化上比較差。

創新優化

《基于mybatis的數據持久層研究》

作者:陳小虎 鄧惠俊

為解決傳統的Mybatis數據庫持久層在靈活性,可擴展性上存在的問題,在深入研究mybatis的技術架構和應用流程的基礎上,利用數據庫連接池技術和基于映射表的設計方案提出了基于連接池的mybatis持久層優化技術,通過實驗的方式證明了該優化方案的有效性和可行性。

上一篇:雲安全

下一篇:色素

相關詞條

相關搜索

其它詞條