999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

動態數據庫的ORM實現

2007-12-31 00:00:00
計算機時代 2007年7期

摘要:針對現有的ORM組件不能實現運行時動態改變數據庫結構的不足,文章提出了一種動態數據庫的ORM解決方案,該方案從分析設計數據庫的基本原則入手,給出了一種將索引表和動態數據表相結合的ORM模型,通過索引表間接實現了動態數據庫的ORM,彌補了現有ORM組件的不足。同時分析比較了動態數據庫ORM和傳統JDBC直連的效率。

關鍵詞:動態數據庫;ORM;索引袁

0 引言

軟件結構體系已由單層結構向多層結構發展,在Web應用軟件中,這種體系結構表現為典型的三層結構:表述層、業務邏輯層、數據層。這種層次結構給應用軟件帶來了伸縮性、可維護性、可擴展性、可重用性和可管理性等諸多優點。

該層次結構中業務邏輯層不僅要處理業務邏輯,而且還負責訪問數據庫,操作和處理業務邏輯所需的數據。JDBC是所有數據庫訪問方式中效率最高的,但是由于JDBC的編碼方式屬于SQL語句嵌入式的硬編碼結構,所以在代碼里必然會帶有大量的SQL語句,從而導致開發效率的降低和維護成本的升高。所以為了把數據訪問和業務邏輯區分開來,部分應用在業務邏輯層和數據層之間增加了數據訪問中間件——持久層,由這一層來負責具體的數據訪問。持久層封裝了訪問細節并向業務邏輯層提供數據訪問接口,使業務邏輯不必再糾纏于數據訪問語句中,從而使業務代碼更加簡潔專一。

1 ORM模式簡介

ORM(Object-Relation-Mapping)模式指在單個組件中實現所有實體的持久化,封裝數據細節。目前最流行和最普及的數據層解決方案是關系數據庫,而關系數據庫是基于數學集合論原理的,這和被普遍接受的面向對象的業務邏輯實現存在一定的匹配問題。為了解決這種匹配問題,目前已經提出了多種解決方案,比如CMP、JDO、ORM等等。其中ORM作為目前比較流行的持久化解決方案,與CMP、JDO相比具有結構簡單,移植性高,對環境依賴度低的優點,與POJO(Plan Old Java Object)相結合使用的方式已經成為一種越來越受歡迎且用于取代CMP和JDO的持久化方案。

2 動態數據庫的ORM實現

與運行時物理表結構不改變的靜態數據庫相對,動態數據庫是指由于數據結構不能在設計期間完全預知,物理表結構在運行時會隨著業務邏輯的需求動態增加、刪除或修改數據庫。目前的ORM組件是通過對象一表和屬性一列的映射配置文件實現對象關系映射的,所以可以與靜態數據庫結合使用并能很好地工作。但是這種ORM組件對于動態數據庫而言卻是不適用的,映射配置文件不可能在應用運行時動態修改,同樣映射的對象文件也不可能在應用運行時動態修改。雖然業務邏輯可以避開ORM直接訪問數據庫,但是這樣做是與增加持久層簡化業務邏輯的初衷相背的。

所以,需要一種能與動態數據庫結合使用的ORM實現。本文提出了一種通過改進數據庫的表設計,增加索引表而實現動態數據庫結構的抽象規范,繼而在此基礎之上實現動態數據庫的ORM方案。

2.1 數據庫設計準則

由于動態數據庫數據表的動態特性,所以要實現ORM必須對其進行邏輯上的抽象,歸納出一個統一的邏輯結構,使ORM組件可以對數據表進行統一的管理和訪問。本文按照如下幾點對數據庫進行改良并抽象出統一的數據表邏輯結構。

2.1.1 統一生成準則

對于不同應用來說,每個生成的動態數據表在結構上具有一定的相似性。所以應該在設計階段根據可能的數據表的生成類型確定動態數據表的生成規則,讓所有的數據表都按照規則生成,這樣生成的數據表在結構上具有一致性,并能在邏輯上實現數據表的統一管理。

2.1.2 增加索引表

索引表是存放所有動態生成的數據表的參數的表,包括數據表的物理表名、邏輯表名、物理列名、邏輯列名等。索引表工作于持久層和數據層之間,邏輯上等同于ORM組件和數據表之間的代理,ORM組件通過索引表代理間接訪問數據表:

ORM則建立在表結構固定的索引表上,這樣,在邏輯上解決了動態數據表的ORM問題。本文引入了兩張索引表:表索引表和列索引表,其結構如表1和表2所示,其中表索引表的map_name列的數值是惟一的,列索引表的map_name列在table_id值相等的情況下取值也是惟一的。在新建一張數據表的時候,向表索引表中寫入一條記錄,其中的字段值為該數據表的相關信息,比如邏輯表名,物理表名等等。同時根據該數據

主站蜘蛛池模板: 国产精品福利一区二区久久| 欧美综合中文字幕久久| 免费A级毛片无码免费视频| 91久久青青草原精品国产| 91在线丝袜| 国产精品密蕾丝视频| 午夜小视频在线| 成人国产免费| 久久精品国产999大香线焦| 亚洲动漫h| 亚洲精品你懂的| 午夜少妇精品视频小电影| 色欲色欲久久综合网| 伊人AV天堂| 国产91高清视频| 国产剧情国内精品原创| 色噜噜在线观看| 92午夜福利影院一区二区三区| 亚洲精品成人7777在线观看| 国产精品免费入口视频| 国产精品区视频中文字幕| 国产视频欧美| 国产大片黄在线观看| 经典三级久久| 亚洲不卡无码av中文字幕| 一级毛片不卡片免费观看| 国产成人AV综合久久| 国产在线自揄拍揄视频网站| 97在线公开视频| 国产二级毛片| 国产激情无码一区二区APP| 亚洲欧洲自拍拍偷午夜色无码| 91午夜福利在线观看精品| www亚洲天堂| 国产一区二区网站| 青青热久免费精品视频6| 亚洲日韩精品无码专区| 中文字幕啪啪| 四虎在线观看视频高清无码| 成人综合在线观看| 亚洲综合久久一本伊一区| 久草国产在线观看| 九色在线视频导航91| 老司机久久精品视频| 18禁影院亚洲专区| 老色鬼欧美精品| 亚洲中文字幕23页在线| 国产99视频精品免费视频7| 欧美色99| 精品视频第一页| 亚洲成人精品| 亚洲制服中文字幕一区二区| 在线人成精品免费视频| 亚洲啪啪网| 国产在线观看精品| 久无码久无码av无码| 色哟哟精品无码网站在线播放视频| 国产丝袜无码精品| 亚洲高清中文字幕在线看不卡| 很黄的网站在线观看| 无码网站免费观看| 玩两个丰满老熟女久久网| 国产成人区在线观看视频| 五月婷婷丁香综合| 在线观看视频99| 人妻精品全国免费视频| 精品人妻系列无码专区久久| 国内老司机精品视频在线播出| 欧美精品不卡| 欧美亚洲激情| 中文字幕啪啪| 久久久久久午夜精品| 日韩精品少妇无码受不了| 国产AV无码专区亚洲A∨毛片| 国模粉嫩小泬视频在线观看| 在线看免费无码av天堂的| AV无码无在线观看免费| 国产成人精品18| 国产极品美女在线观看| 久久精品最新免费国产成人| 国产成人精品18| 91福利片|