摘要:針對現有的ORM組件不能實現運行時動態改變數據庫結構的不足,文章提出了一種動態數據庫的ORM解決方案,該方案從分析設計數據庫的基本原則入手,給出了一種將索引表和動態數據表相結合的ORM模型,通過索引表間接實現了動態數據庫的ORM,彌補了現有ORM組件的不足。同時分析比較了動態數據庫ORM和傳統JDBC直連的效率。
關鍵詞:動態數據庫;ORM;索引袁
0 引言
軟件結構體系已由單層結構向多層結構發展,在Web應用軟件中,這種體系結構表現為典型的三層結構:表述層、業務邏輯層、數據層。這種層次結構給應用軟件帶來了伸縮性、可維護性、可擴展性、可重用性和可管理性等諸多優點。
該層次結構中業務邏輯層不僅要處理業務邏輯,而且還負責訪問數據庫,操作和處理業務邏輯所需的數據。JDBC是所有數據庫訪問方式中效率最高的,但是由于JDBC的編碼方式屬于SQL語句嵌入式的硬編碼結構,所以在代碼里必然會帶有大量的SQL語句,從而導致開發效率的降低和維護成本的升高。所以為了把數據訪問和業務邏輯區分開來,部分應用在業務邏輯層和數據層之間增加了數據訪問中間件——持久層,由這一層來負責具體的數據訪問。持久層封裝了訪問細節并向業務邏輯層提供數據訪問接口,使業務邏輯不必再糾纏于數據訪問語句中,從而使業務代碼更加簡潔專一。
1 ORM模式簡介
ORM(Object-Relation-Mapping)模式指在單個組件中實現所有實體的持久化,封裝數據細節。目前最流行和最普及的數據層解決方案是關系數據庫,而關系數據庫是基于數學集合論原理的,這和被普遍接受的面向對象的業務邏輯實現存在一定的匹配問題。……