-
數據持久層
鎖定
- 中文名
- 數據持久層
- 外文名
- Data Persistence
- 解決方案一
- JDBC直接訪問
- 解決方案二
- 第三方O/R工具
- 解決方案三
- JDO技術
- 所屬分類
- 三層結構
數據持久層基本介紹
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,然後需要了解每一個容器部署時所要關注的技術。此外,許多情況下商用容器的性能和支持也不是很好。