數據持久層
數據持久層
數據持久層位於領域層和基礎架構層之間。由於對象範例和關係範例這兩大領域之間存在“阻抗不匹配”,所以把數據持久層單獨作為J2EE體系的一個層提出來的原因就是能夠在對象-關係資料庫之間提供一個成功的企業級映射解決方案,盡最大可能彌補這兩種範例之間的差異。
J2EE的三層結構是指表示層(Presentation),業務邏輯層(Business Logic)以及基礎架構層(Infrastructure),這樣的劃分非常經典,但是在實際的項目開發法中,開發者通常對三層結構進行擴展來滿足一些項目的具體要求,一個最常用的擴展就是將三層體系擴展為五層體系,即表示層(Presentation)、控制/中介層(Controller/Mediator)、領域層(Domain)、數據持久層(Data Persistence)和數據源層(Data Source)。它其實是在三層架構中增加了兩個中間層。控制/中介層位於表示層和領域層之間。
許多開發者用JDBC進行資料庫程序的開發。此中方式很多情況下都使用DAO模式,採用SQL進行查詢。雖然用此方式可以使應用程序代碼與具體的資料庫廠商和資料庫位置無關,不過JDBC是低級別的資料庫訪問方式,JDBC並不支持面向對象的資料庫表示。JDBC資料庫表示完全圍繞關係資料庫模型。在大型應用程序的DAO中書寫這樣的代碼,維護量是非常大的。