APP下载

基于NHibernate的旅游资源管理系统数据持久化

2014-02-16佟吉富

电子测试 2014年20期
关键词:应用程序旅游业结构设计

佟吉富

基于NHibernate的旅游资源管理系统数据持久化

佟吉富

(渤海大学高等职业技术学院,辽宁锦州,121000)

我国旅游业发展迅速,对信息化的要求越来越高,针对旅游业实施信息化过程中存在的问题,本文基于NHibernate研究旅游资源管理系统数据持久化。首先,进行数据库概念结构设计和逻辑结构设计;然后,通过图形研究NHibernate体系结构;最后,按NHibernate的持久化步骤对旅游线路表进行持久化。

旅游资源;管理系统;NHibernate;数据持久化

旅游业这个新兴产业,是伴随着工业化、全球化和信息化的进程而不断发展壮大的,既是经济社会发展进步的产物,也是经济社会发展进步的标志。经济社会发展、科学技术进步、居民实际收入增长、个人可自由支配闲暇时间增多,以及人们求新、求知、求乐、求健欲望的增强,是现代旅游业发展的原动力。旅游资源是发展旅游业的基本条件之一。目前,旅游资源信息管理还存在许多问题,主要集中在以下几个方面:收集与管理手段落后、管理和使用不成体系、没有反映信息的动态性、利用手段落后。信息化发展为旅游业带来了广阔的发展前景,通过信息技术的应用,建立统一的旅游信息数据库和可操作的平台,统一服务发展思路,共建信息数据库,共享资源。数据持久化是建设旅游资源管理系统的重要工作,本文基于.Net的Nhibernate技术展开研究,为旅游资源管理系统开发提供技术支持。

1 数据库设计

数据库设计(Database Design)是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,使之能够有效地存储数据,满足各种用户的应用需求。旅游资源管理系统是解决旅游公司内部资源的一种实用软件,具有很强的实用性,即可以作为单独的系统使用,也可以作为旅游企业综合业务管理系统的一个重要组成部分,其管理的基本思路是以地域信息为基础,管理旅游景点资源、旅游宾馆资源、旅游餐厅资源、旅游娱乐资源、旅游线路资源等。概念结构设计E-R模型如图1所示(图中省略了实体和联系的属性)。

根据概念结构设计的结果进行逻辑结构设计。逻辑结构设计阶段的任务是将概念结构设计阶段所得到的概念模型转换为具体DBMS所能支持的数据模型(即逻辑结构),并对其进行优化,受篇幅所限,本文仅图1的中的三个实体进行逻辑结构设计,结果如下:

(1)用户员(管理员编号,姓名,性别,民族,年龄,家庭住址,身份证号,职称,职务,电话,备注);

(2)旅游线路(线路编号、线路名称、所属地域、行程天数、团队类别、旅游费用、保险费用);

(3)景点资源信息(景点编号、景点名称、联系人、联系电话、通讯地址、邮政编码、成人票价、儿童票价、所在地域、录入日期和时间)。

2 NHibernate体系结构

持久化(Persistence)是将程序数据在持久状态和瞬时状态间转换的机制。主要应用是将内存中的对象存储在关系型的数据库中,当然也可以存储在磁盘文件中、XML数据文件中等。

Nhibernate是一个基于.Net的针对关系型数据库的对象持久化类库,来源于基于Java的Hibernate关系型持久化工具。Hibernate从数据库底层来持久化.Net对象,程序员所写代码仅仅和对象关联,操作数据库的对象SQL语句由NHibernate自动产生,并确保对象提交到正确的表和字段中去。NHibernate大量减少人工编写SQL和ADO.NET处理数据的时间,而是把结果集从表格的表示形式转换到一系列对象中去。NHibernate采用XML文件配置方式,每一个实体类对应一个映射文件。体系结构如图2所示。

从图2中可以看到,NHibernate处于数据库和应用程序之间,为应用程序提供持久化对象到数据库的服务。NHibernate通过使用数据库和配置文件来为应用程序提供持久化服务,即它使用NHibernate.properties或XML Mapping两种配置文件方式把普通对象映成关系数据库中的表,从而应用程序通过持久化的对象类直接访问数据库,而不是必须使用SQL和ADO.NET对数据库进行操作。

3 持久化步骤与实例

Nhibernate持久化分为五个步骤,下面以旅游线路表为例,来说明持久化方法。为了操作方便和兼容性,需要将汉字表示的逻辑设计用英文字母表示。旅游线路对应的英文表示为:

TourismLine (LineNo, LineName, Area, TravelDays, TeamCategory, TravelFee, InsuranceFee)

(1)配置NHibernate。配置文件有两种:在桌面应用程序(WinForm)中为App.config,在网页应用程序(WebForm)中为web.config。两种方法要添加的配置信一样,目标都是告诉NHbiernate使用的数据库管理系统、数据库、用户名称、用户密码等。

(2)创建表。运用CREATE TABLE语句。

(3)构建被持久化的.Net类。NHibernate通过对象属性的反射来工作,因此需要添加持久化的对象属性。代码如下:

(4)构建映射文件(Mapping File)。需要一种方式去让NHibernate知道如何从数据表到.Net类的关联,这种关联依赖映射文件来完成。最易于管理的办法是为每一个类编写一个映射文件,如果命名为YourObject.hbm.xml 并且把它放在和类的同一个目录下,NHiberante操作将非常简单。映射文件如下:

(5)使用NHibernate的应用程序编程接口(API,Application Programming Interface)来编程。在类中声明NHibernate的Factory;在系统初始化的时候加载XML,并创建Factory文件;使用HSql查询;编写具体的插入、修改、删除、查询语句。

[1] 宋新龙,田耀永,侯岳.旅游资源管理信息系统建设的技术与实现方法[J].测绘与空间地理信息.2013,36(5): 119-122.

[2] 肖阳.基于GIS长株潭地区旅游资源信息管理系统的研制究[D].中南林学院硕士学位论文.2004.

[3] 崔玉连,杨新锋.数据库开发框架NHibernate应用研究[J].微型电脑应用.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-),男,辽宁岫岩人,副教授,从事旅游资源信息管理研究.

猜你喜欢

应用程序旅游业结构设计
超限高层建筑结构设计与优化思考
云南出台20条措施,加快旅游业恢复
结构设计优化在房屋建筑结构设计中的应用
重庆武隆:贫困人口依托旅游业脱贫
删除Win10中自带的应用程序
谷歌禁止加密货币应用程序
对烟台市旅游业发展的探析与思考
中国旅游业2017的风往哪吹?
BIM结构设计应用
某排水虹吸井结构设计