佟吉富
基于NHibernate的旅游資源管理系統(tǒng)數(shù)據(jù)持久化
佟吉富
(渤海大學(xué)高等職業(yè)技術(shù)學(xué)院,遼寧錦州,121000)
我國旅游業(yè)發(fā)展迅速,對信息化的要求越來越高,針對旅游業(yè)實(shí)施信息化過程中存在的問題,本文基于NHibernate研究旅游資源管理系統(tǒng)數(shù)據(jù)持久化。首先,進(jìn)行數(shù)據(jù)庫概念結(jié)構(gòu)設(shè)計(jì)和邏輯結(jié)構(gòu)設(shè)計(jì);然后,通過圖形研究NHibernate體系結(jié)構(gòu);最后,按NHibernate的持久化步驟對旅游線路表進(jìn)行持久化。
旅游資源;管理系統(tǒng);NHibernate;數(shù)據(jù)持久化
旅游業(yè)這個新興產(chǎn)業(yè),是伴隨著工業(yè)化、全球化和信息化的進(jìn)程而不斷發(fā)展壯大的,既是經(jīng)濟(jì)社會發(fā)展進(jìn)步的產(chǎn)物,也是經(jīng)濟(jì)社會發(fā)展進(jìn)步的標(biāo)志。經(jīng)濟(jì)社會發(fā)展、科學(xué)技術(shù)進(jìn)步、居民實(shí)際收入增長、個人可自由支配閑暇時間增多,以及人們求新、求知、求樂、求健欲望的增強(qiáng),是現(xiàn)代旅游業(yè)發(fā)展的原動力。旅游資源是發(fā)展旅游業(yè)的基本條件之一。目前,旅游資源信息管理還存在許多問題,主要集中在以下幾個方面:收集與管理手段落后、管理和使用不成體系、沒有反映信息的動態(tài)性、利用手段落后。信息化發(fā)展為旅游業(yè)帶來了廣闊的發(fā)展前景,通過信息技術(shù)的應(yīng)用,建立統(tǒng)一的旅游信息數(shù)據(jù)庫和可操作的平臺,統(tǒng)一服務(wù)發(fā)展思路,共建信息數(shù)據(jù)庫,共享資源。數(shù)據(jù)持久化是建設(shè)旅游資源管理系統(tǒng)的重要工作,本文基于.Net的Nhibernate技術(shù)展開研究,為旅游資源管理系統(tǒng)開發(fā)提供技術(shù)支持。
數(shù)據(jù)庫設(shè)計(jì)(Database Design)是指對于一個給定的應(yīng)用環(huán)境,構(gòu)造最優(yōu)的數(shù)據(jù)庫模式,建立數(shù)據(jù)庫及其應(yīng)用系統(tǒng),使之能夠有效地存儲數(shù)據(jù),滿足各種用戶的應(yīng)用需求。旅游資源管理系統(tǒng)是解決旅游公司內(nèi)部資源的一種實(shí)用軟件,具有很強(qiáng)的實(shí)用性,即可以作為單獨(dú)的系統(tǒng)使用,也可以作為旅游企業(yè)綜合業(yè)務(wù)管理系統(tǒng)的一個重要組成部分,其管理的基本思路是以地域信息為基礎(chǔ),管理旅游景點(diǎn)資源、旅游賓館資源、旅游餐廳資源、旅游娛樂資源、旅游線路資源等。概念結(jié)構(gòu)設(shè)計(jì)E-R模型如圖1所示(圖中省略了實(shí)體和聯(lián)系的屬性)。
根據(jù)概念結(jié)構(gòu)設(shè)計(jì)的結(jié)果進(jìn)行邏輯結(jié)構(gòu)設(shè)計(jì)。邏輯結(jié)構(gòu)設(shè)計(jì)階段的任務(wù)是將概念結(jié)構(gòu)設(shè)計(jì)階段所得到的概念模型轉(zhuǎn)換為具體DBMS所能支持的數(shù)據(jù)模型(即邏輯結(jié)構(gòu)),并對其進(jìn)行優(yōu)化,受篇幅所限,本文僅圖1的中的三個實(shí)體進(jìn)行邏輯結(jié)構(gòu)設(shè)計(jì),結(jié)果如下:
(1)用戶員(管理員編號,姓名,性別,民族,年齡,家庭住址,身份證號,職稱,職務(wù),電話,備注);
(2)旅游線路(線路編號、線路名稱、所屬地域、行程天數(shù)、團(tuán)隊(duì)類別、旅游費(fèi)用、保險費(fèi)用);
(3)景點(diǎn)資源信息(景點(diǎn)編號、景點(diǎn)名稱、聯(lián)系人、聯(lián)系電話、通訊地址、郵政編碼、成人票價、兒童票價、所在地域、錄入日期和時間)。
持久化(Persistence)是將程序數(shù)據(jù)在持久狀態(tài)和瞬時狀態(tài)間轉(zhuǎn)換的機(jī)制。主要應(yīng)用是將內(nèi)存中的對象存儲在關(guān)系型的數(shù)據(jù)庫中,當(dāng)然也可以存儲在磁盤文件中、XML數(shù)據(jù)文件中等。
Nhibernate是一個基于.Net的針對關(guān)系型數(shù)據(jù)庫的對象持久化類庫,來源于基于Java的Hibernate關(guān)系型持久化工具。Hibernate從數(shù)據(jù)庫底層來持久化.Net對象,程序員所寫代碼僅僅和對象關(guān)聯(lián),操作數(shù)據(jù)庫的對象SQL語句由NHibernate自動產(chǎn)生,并確保對象提交到正確的表和字段中去。NHibernate大量減少人工編寫SQL和ADO.NET處理數(shù)據(jù)的時間,而是把結(jié)果集從表格的表示形式轉(zhuǎn)換到一系列對象中去。NHibernate采用XML文件配置方式,每一個實(shí)體類對應(yīng)一個映射文件。體系結(jié)構(gòu)如圖2所示。
從圖2中可以看到,NHibernate處于數(shù)據(jù)庫和應(yīng)用程序之間,為應(yīng)用程序提供持久化對象到數(shù)據(jù)庫的服務(wù)。NHibernate通過使用數(shù)據(jù)庫和配置文件來為應(yīng)用程序提供持久化服務(wù),即它使用NHibernate.properties或XML Mapping兩種配置文件方式把普通對象映成關(guān)系數(shù)據(jù)庫中的表,從而應(yīng)用程序通過持久化的對象類直接訪問數(shù)據(jù)庫,而不是必須使用SQL和ADO.NET對數(shù)據(jù)庫進(jìn)行操作。
Nhibernate持久化分為五個步驟,下面以旅游線路表為例,來說明持久化方法。為了操作方便和兼容性,需要將漢字表示的邏輯設(shè)計(jì)用英文字母表示。旅游線路對應(yīng)的英文表示為:
TourismLine (LineNo, LineName, Area, TravelDays, TeamCategory, TravelFee, InsuranceFee)
(1)配置NHibernate。配置文件有兩種:在桌面應(yīng)用程序(WinForm)中為App.config,在網(wǎng)頁應(yīng)用程序(WebForm)中為web.config。兩種方法要添加的配置信一樣,目標(biāo)都是告訴NHbiernate使用的數(shù)據(jù)庫管理系統(tǒng)、數(shù)據(jù)庫、用戶名稱、用戶密碼等。
(2)創(chuàng)建表。運(yùn)用CREATE TABLE語句。
(3)構(gòu)建被持久化的.Net類。NHibernate通過對象屬性的反射來工作,因此需要添加持久化的對象屬性。代碼如下:
(4)構(gòu)建映射文件(Mapping File)。需要一種方式去讓NHibernate知道如何從數(shù)據(jù)表到.Net類的關(guān)聯(lián),這種關(guān)聯(lián)依賴映射文件來完成。最易于管理的辦法是為每一個類編寫一個映射文件,如果命名為YourObject.hbm.xml 并且把它放在和類的同一個目錄下,NHiberante操作將非常簡單。映射文件如下:
(5)使用NHibernate的應(yīng)用程序編程接口(API,Application Programming Interface)來編程。在類中聲明NHibernate的Factory;在系統(tǒng)初始化的時候加載XML,并創(chuàng)建Factory文件;使用HSql查詢;編寫具體的插入、修改、刪除、查詢語句。
[1] 宋新龍,田耀永,侯岳.旅游資源管理信息系統(tǒng)建設(shè)的技術(shù)與實(shí)現(xiàn)方法[J].測繪與空間地理信息.2013,36(5): 119-122.
[2] 肖陽.基于GIS長株潭地區(qū)旅游資源信息管理系統(tǒng)的研制究[D].中南林學(xué)院碩士學(xué)位論文.2004.
[3] 崔玉連,楊新鋒.?dāng)?shù)據(jù)庫開發(fā)框架NHibernate應(yīng)用研究[J].微型電腦應(yīng)用.2013,29(9):12-14.
Data persistence on tourism resources management system based on NHibernate
Tong Jifu
(Higher Professional Technical Institute, Bohai University,Jinzhou,121000,China)
The rapid development of China's tourism industry,the demands to information technology get higher and higher,for tourism existed problems during the implementation of information technology,this paper researches on tourism resource management system data persistence based on NHibernate.Firstly,carry out database conceptual structure design and logical structure design;then,through the graphical studied NHibernate architecture;finally,on the tourist route table for persistence in accordance with NHibernate persistence steps.
tourism resources;management system;NHibernate;data persistence
佟吉富(1961-),男,遼寧岫巖人,副教授,從事旅游資源信息管理研究.