《基于J2EE的酒店客房网上预订与管理系统的设计与实现毕业论文.doc》由会员分享,可在线阅读,更多相关《基于J2EE的酒店客房网上预订与管理系统的设计与实现毕业论文.doc(44页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、 基于 J2EE 的酒店客房网上预订与管理系统的设计与实现摘要现在已经步入到信息化时代,计算机网络的使用也越来越受欢迎,例如:淘宝、网上书城、网上订票等。计算机最大的好处在于它能够进行信息管理,使用计算机进行信息控制,不仅大大提高了其安全性,而且提高了工作效率。尤其是对复杂的信息管理能够很好地发挥其优越性。通过对酒店预订市场的调查和分析,并比较和借鉴现有的一些酒店客房网上预订与管理系统的开发技术,借鉴现有一些系统的布局的优点,设计和开发了基于 J2EE 的系统架构的酒店客房网上预订与管理系统。本系统采用基于 J2EE 的系统架构,采用Spring+Struts2+Hibernate三层框架技术
2、开发,并在MyEclipse 10.0下完成程序的编写和编译,并将系统最终部署在Tomcat 6.0服务器中。现有的一些酒店客房网上预订与管理系统大多是基于ASP.net技术开发的,基于 J2EE 系统架构的酒店客房网上预订与管理系统还不多,众所周知,基于 J2EE的三层框架在许多技术指标上优于ASP.net技术,因此,本系统在设计和实现技术上是比较好的,这也是本系统的优势所在。论文介绍了酒店客房预定与管理系统的需求分析;系统整体设计和架构;类图及系统的E-R图;数据库表的设计;系统的关键技术和软件架构,本系统主要功能模块的界面设计与程序设计。本系统的主要功能模块包括:酒店搜索、酒店预订、在线
3、留言、公告浏览、用户管理、酒店管理、客房管理、订单管理、公告发布与维护等功能模块。最后介绍了系统测试的方法、步骤和测试的结果。关键词:酒店客房网上预订;三层框架技术;软件架构;软件测试IDesign and Realization of Hotel room online Booking and Management System on the J2EEAbstractNow we entered into the information age, the use of computer network is becoming more and more popular, such as: t
4、aobao, online bookstore, online booking and so on. The greatest benefit of computer is that it can information management, use the computer to control information, not only greatly improved its security, but also improve the working efficiency. Especially for the complex information management is ab
5、le to exert its superiority.Through the hotel reservation market research and analysis, and to compare and learn from some of the existing hotel rooms online booking and management system development techniques, learn some of the advantages of the layout of the existing system, the design and develo
6、pment of a system architecture based on J2EE hotel Room online booking and management systems. The system uses a system based on J2EE architecture, using Spring + Struts2 + Hibernate three framework technology development and complete programs written and compiled under the MyEclipse 10.0, and the s
7、ystem will eventually be deployed in Tomcat 6.0 server.Some existing online booking hotel rooms and management system is mostly based on ASP.net technology development, based on the J2EE system architecture of hotel rooms, there are few online booking and management system and it is well known that
8、the three layers framework based on J2EE technology on many technical indicators are better than ASP.net, as a result, this system is better in the design and implementation technology, which is also the advantage of this system.This paper introduces the requirements analysis of the hotel reservatio
9、n and management system; Overall system design and architecture; Class diagram and system of E - R diagram; The design of the database table; The key technology of system and the software architecture, this system main function modules of interface design and program design. The main function module
10、s of this system include: hotel search, hotel reservation, online messages, announcements, browse, user management, hotel management, hotel management, order management, announcement and maintenance, and other functions module. Finally this paper introduces the method of system test, the steps and t
11、est results.Key words: Hotel Room Online Booking; Three Layers Framework Technology; Software Architecture; Software TestingII目录中文摘要I外文摘要II1绪论11.1项目研究背景11.2项目研究意义12系统分析32.1系统设计面临的主要问题32.2系统需求分析42.2.1系统需求概要分析42.2.2客房预订功能模块分析52.2.3系统管理功能模块分析62.2.4系统用户角色分析72.3系统开发环境和运行环境83系统整体设计和架构103.1系统关键技术介绍103.2三层架
12、构143.2.1表现层143.2.2业务逻辑层153.2.3数据访问层164系统数据库设计和实现174.1MySQL简介174.2系统E-R图174.3系统类图184.4数据库主要表结构设计195界面设计与程序设计235.1界面设计235.1.1酒店预订模块界面设计235.1.2酒店管理模块界面设计245.2程序设计265.2.1酒店搜索功能程序设计265.2.2酒店预订功能程序设计275.2.3公告显示功能程序设计285.2.4会员管理功能程序设计295.2.5酒店管理功能程序设计305.2.6客房管理功能程序设计326系统测试346.1测试的基本概念346.1.1测试的目的346.1.2测
13、试方案346.2测试的步骤34结论36参考文献38致谢39外文原文及译文40 1 绪论1.1 项目研究背景现在已经步入到信息化时代,计算机网络的使用也越来越受欢迎,例如:淘宝、网上书城、网上订票等。计算机最大的好处在于它能够进行信息管理,使用计算机进行信息控制,不仅大大提高了其安全性,而且提高了工作效率。尤其是对复杂的信息管理能够很好地发挥其优越性。大多数人都是每天忙于工作,在放假或休息时间里都很希望能够简单、快捷、方便的生活,尤其是每年的五一、十一长假,上班一族都很希望能够有个轻松的旅行。但是旅游时的住宿也是一个很大的问题,没有时间去实地考察旅游地的酒店。这样一来网上酒店预订系统就有了很大的
14、需求量,也因此出现了很多专职从事制作酒店预订与酒店管理系统的公司。酒店客房网上预订与管理系统不仅给用户带来了便利,也给各个酒店的管理带来了很多好处。传统的手工记录,电话联系的方式,消耗大量的人力、物力,而且执行效率低,容易出现错误。通过该系统,就可以简单的实现规范管理和快速查询,不仅减少了酒店方面的管理工作量,节约酒店的人力成本;而且客户完全可以随时随地的进行远程预订,这既加大了酒店的竞争力,还方便了客户,从而给酒店带来更多的客流量。根据目前市场和用户的需求情况开发酒店客房网上预订与管理系统是十分有必要的。1.2 项目研究意义虽然酒店客房网上预订与管理系统已经相当普及,但是现在仍然存在一定的问
15、题,主要表现在以下几个方面:(1)现在很多客房预订与管理系统都是针对中小型酒店宾馆设计的,而现在酒店正向个性化方向发展,酒店按其经营方式可分为商务型酒店、长住型酒店、度假型酒店等等;按其经营形式可分为独立经营饭店、集团经营饭店等,所以我们很需要有一个系统能够把所有类型的酒店全部包括起来,并且能够根据其类型进行鲜明的分类。(2)服务流程和管理存在不合理的地方,有时客户端的数据更新不是很速度,可能造成客户端和服务器端的数据不统一,即统计数据无法做到及时准确。(3)系统的可扩展性差,缺乏外部接口,系统在复杂的网络环境中生存性较差。(4)目前酒店客房网上预订与管理系统虽然采用的是开放模式,但这只是系统
16、开发一级的开放性,在特定的应用中无论是Client端还是Server端都还需要特定的软件支持。由于没能提供用户真正期望的开放环境,C/S结构的软件需要针对不同的操作系统系统开发不同版本的软件,加之产品的更新换代十分快,已经很难适应百台电脑以上局域网用户同时使用。而且代价高,效率低。以上是酒店客房网上预订与管理系统存在的问题,制约了酒店经营模式的壮大,影响了用户对网上酒店预定的可信性。随着现代科学技术的发展,新型的计算机网络和酒店预订及管理系统的产生,竞争环境越来越激烈,酒店经营除了降低成本、提高质量外,更需要以先进的管理技术和前瞻性的管理理念来整合酒店内部资源和各酒店之间的资源和信息。因此,开
17、发一个网络可靠性好、系统兼容性强、业务和管理流程好、系统实时性和数据准确的酒店客房网上预订与管理系统能够促进酒店管理科学化、正规化,也是重新获得用户肯定和信任的重要条件。(5)现有的一些B/S结构的酒店客房网上预订与管理系统大多是基于ASP.net技术开发的,基于 J2EE 系统架构的酒店客房网上预订与管理系统还不多。众所周知,基于 J2EE的三层框架在许多技术指标上优于ASP.net技术,因此,本系统在设计和实现技术上是比较好的,这也是本系统的优势所在。2 系统分析2.1 系统设计面临的主要问题通过项目建设初期的分析和调研发现,酒店客房网上预订与管理系统设计和开发需要解决的问题主要有以下几个
18、方面:(1)酒店分类模式比较多,类型多样化。由于中国市场很大,人口很多,所以不管是不是省汇城市,各地都有很多的酒店或旅馆。这样一来前期的信息量就很大,要想得到一个很全面、真实的各酒店信息也是一件困难的事情。(2)系统的用户量比较大,这样就要要求服务器的功能足够强大,能够允许大量用户同时在线和同时提交订单。就像火车票网上购票系统在使用前期遇到假日高峰期时用户量太大导致服务器挂掉了,一个功能强大的服务器也是一个特别需要注意及解决的问题。(3)酒店数据信息庞大,格式也多样化。不同的酒店有着不同的配置、服务等。尤其是各个酒店的图片格式各不相同,所以系统设计需要对不同的数据进行解析,当上传酒店图片时需要
19、判断上传的格式是不是正确,以及规定图片的显示格式。(4)大量的信息数据如何在服务器端正确、有效和实时的存储。由于酒店的信息本来就很多,而且每个酒店有着不同的客房信息,所以信息数据规模是相当庞大的。这样就要求数据提供者或维护者要不断实时的将数据提供给管理人员,管理员要在第一时间进行数据更改,以保证大量数据的正确性、有效性。(5)本系统如何吸引更多的用户以及取得他们的信赖。以为现在市场上已经有很多酒店预订与管理系统,要想使该系统能够更好地吸引用户就需要丰富可信的信息来源、稳定强大的系统功能、新鲜多样的界面设计等等。当然,除了以上几个问题,系统设计还面临许多其他问题,例如酒店客房的价格定位问题,如果
20、系统中个预订报价高于其他系统,那无论本系统的功能如何,用户都会喜欢和选择预订价低的系统。这就好比我们自己在买东西一样,都会货比三家的,这就需要实时关注同行的动态,了解用户的最新需求和酒店一方的最大利益。在酒店一方追求高利润的需求下,用户想要选择最优惠划算的行为都给酒店客房网上预订与管理系统的数据采集的准确性和实时性提出了巨大的挑战。2.2 系统需求分析2.2.1 系统需求概要分析随着时代的不断发展,人们的生活节奏也越来越快,为了节省时间和精力,网上消费也成为了我们的首选,其中酒店网上预订也成为一种新时尚并逐渐被更多的人接受。用户不再需要夹杂在人来人往的街市里,不再需要亲自去各个酒店询问,也不需
21、要不停的用电话沟通,只需要坐在计算机前,就可以在预订系统中方便的查询并预订自己需要的客房。酒店网上预订与管理系统最重要的功能就是购物车,因为有时用户根据需要不止预订一家酒店的客房,如果用户每预订一次客房就需要提交一个订单(一般提交订单时,都需要用户填写大量的信息,例如联系方式、入住时间和退房时间等),那么用户操作时会很繁琐,而且对酒店管理一方来讲也不方便。所以,根据以上的需求分析将酒店客房网上预订与管理系统分为用户网上预订和管理员系统管理二大功能模块,系统的功能模块结构图如图2.1所示。图 2.1 系统功能模块结构图酒店客房网上预订与管理系统的用例图如图2.2所示。图 2.2 系统用例图2.2
22、.2 客房预订功能模块分析客房预订功能模块主要包括:酒店搜索模块,客房查询模块,立即预订模块,购物车模块和个人订单模块。客房预订功能模块为用户提供界面,用户登录系统成为会员后选择预订按钮,根据提示填写自己的预订信息,确定预订信息后就完成了客房预订。客房预订功能模块结构图如图2.3所示。图 2.3 客房预订功能模块结构图客房预订的5个主要功能模块的功能分别如下。(1)酒店搜索模块功能酒店搜索模块分为按酒店的城市、价格、星级和品牌搜索四个小的模块。按酒店所在的城市搜索模块主要用于在确定了自己所要去的城市的情况下,缩小检索的范围;按酒店价格搜索可以帮助用户规划自己的旅游经费,同时不同价格的酒店其设施
23、配置也是有很大区别的;按星级搜索主要适用于那些重视酒店级别评价的用户选择;按品牌搜索主要适用于习惯使用某一品牌或喜欢某一品牌的酒店的用户。(2)客房查询模块功能客房查询模块是根据酒店搜索后得到的结果,即用户选择自己需要或喜欢的酒店后可以查询该酒店的所有客房信息。(3)立即预订模块功能立即预订模块是用户查看了某一酒店的某种类型的客房后感觉很好就可以直接预订,也适用于只需要一种类型客房的用户。(4)购物车模块功能购物车模块主要包括以下几种情况:用户所需要的客房类型比较多,不方便一次性预订;用户还不能决定要预订的客房等。(5)个人订单模块功能购物车提交成功后将生成一个订单。登录后的用户可以查看自己所
24、有的订单,也可以删除自己的订单。2.2.3 系统管理功能模块分析系统管理功能模块主要包括:公告管理模块,酒店管理模块,客房管理模块,用户管理模块和订单管理模块。系统管理功能模块为系统管理员提供界面,为管理员根据自己的权限及系统的需求对相关模块的数据进行相应的管理,如数据的增删改查等操作。图 2.4酒店管理功能模块结构图系统管理的5个主要功能模块的功能分别如下。(1)公告管理模块功能公告管理模块主要是对本网站相关公告的发布与维护,管理员可以将最新公告内容发布到系统首页,也可以将已经过时或没用的公告删除以及修改已发布公告的内容。(2)酒店管理模块功能酒店管理模块主要是查询酒店信息、添加酒店、修改酒
25、店信息和删除酒店。(3)客房管理模块功能客房管理模块主要分为以下几种情况:查询客房信息(以及该客房所属的酒店信息)、添加客房、修改客房信息和删除客房。(4)用户管理模块功能管理员可以查看所有会员的信息,也可以对其信息进行相关的操作,如修改用户的信息或删除该用户,以及增加新的用户。(5)订单管理模块功能订单管理模块主要分为以下几种情况:查询订单和处理订单(将未处理的订单修改为已处理的订单)。2.2.4 系统用户角色分析根据对酒店客房网上预订与管理系统的分析和调研,系统中的用户角色分为以下三类:系统管理员、会员和一般用户。图 2.5 系统用户角色图三类用户角色的权限设定如下。(1) 系统管理员功能
26、权限系统管理员对整个系统进行维护和管理,保证系统的正常运行。主要是针对会员信息、酒店信息、客房信息、订单信息的管理,以及公告板的发布与维护。(2) 会员功能权限根据需求选择想要预订的客房,填写相关预订信息后实现网上预订客房。还可以在线留言发布自己的意见或建议。(3) 普通用户功能权限只能根据自己的权限对酒店进行查询以及查看网站的基本信息介绍与公告板的相关信息。2.3 系统开发环境和运行环境关于J2EE和.NET之间的讨论已经持续很多年了,到底哪个更具有优势仍然很难下结论。事实上,.NET和J2EE都各有所长,两者都是十分优秀的开发平台,短时间内谁也不能替代对方。J2EE与.NET技术架构的比较
27、如下:(1) 移植性比较在移植性方面,.NET支持跨语言,J2EE支持跨平台。J2EE通过Java虚拟机来消除平台差别,几乎所有的主流操作系统都提供了对J2EE的支持;如果需要跨Unix、Windows等多个操作系统平台时,J2EE平台在目前几乎是唯一的选择。为了吸引更多的开发者和企业厂商使用.NET平台,微软通过通用语言运行时来消除编程语言的差别,希望用跨语言的交互性来平衡跨平台的互操作。(2) 安全性、稳定性比较WINDOWS本身的安全漏洞,使得.NET的安全性比不上J2EE。而且在选择应用服务器时,.NET只能用IIS,稳定性和安全性很难保证;但J2EE可以根据需要选择成本最低,各方面最
28、佳的平台。(3) 可扩展性比较.NET平台的扩展思想是基于软件的横向扩展,而J2EE是基于硬件的纵向扩展。J2EE领域的供应商提供了广泛的负载平衡策略,能够消除系统中的瓶颈,允许多台服务器集成部署。(4) 第三方厂商的支持.NET架构的一小部分具有开放性,但目前很难想象一个非微软的.NET实现,Visual Stdio.NET是唯一的开发工具。而J2EE作为一种开放的规范,从一开始就得到了很多厂商的支持(如IBM、BEA、Oracle等)。目前市场上最好的J2EE应用服务器是BEA的WebLogic和IBM的Webshpere。开发工具也有很多,如Oracle的JDeveloper、IBM的V
29、isualAge for Java、Sun的Forte for Java等。根据上述分析以及个人的熟练程度和喜好,本系统选用的是基于 J2EE 的系统架构,采用Spring+Struts2+Hibernate三框架开发,并在MyEclipse 10.0下完成程序的编写和编译,并将系统最终部署在Tomcat 6.0服务器中。以下是系统的运行环境: 操作系统:Win7 数据库: MySQL Java运行环境:JDK l.6.0 Web服务器:Tomcat 6.0 开发框架:Struts 2 + Spring 2.5 + Hibernate3.2 开发工具:MyEclipse 10.03 系统整体设
30、计和架构3.1 系统关键技术介绍(1) J2EE技术J2EE是一种利用Java2平台来简化诸多企业级应用解决方案的开发、部署和管理相关复杂问题的体系结构,提供了一个企业级的计算模型和运行环境用于开发和部署多层体系的调用。它通过提供企业计算环境必需的各种服务,是的部署在J2EE平台上的多层应用可以实现高可用性、安全性、可扩展性和可靠性。不同计算平台都可以支持Java语言,使得J2EE标准开发的应用可跨平台的移植,且由于Java语言的安全、严格,使得开发者可以编写出非常可靠的代码。J2EE提供了企业计算中需要的所有服务,且更加易用;并为多数标准定义了接口,如JNDI,JDBC,Java,Mail等
31、。可与许多厂商的产品配合,容易得到广泛的支持。(2) Tomcat连接池数据库连接池是解决重复建立数据库连接时,耗损系统资源问题的一门技术。一个网站的访问速度成功与否的关键,但是很多的网站应为重复建立耗损资源的数据库的连接,使得访问速度达到无法跨越的瓶颈,有了数据库连接池,程序只需从连接池中获取数据库链接,使用完毕后,再放入连接池中便可,所有的数据库连接由数据池管理。可以设置连接池的最大连接数量,每个连接的最大空闲时间等。(3) SSH2框架SSH2 为 struts2+spring+hibernate的一个集成框架,是目前较流行的一种Web应用程序开源框架。集成SSH2框架的系统从职责上分为
32、四层:表示层、业务逻辑层、数据持久层和域模块层,以帮助开发人员在短期内搭建结构清晰、可复用性好、维护方便的Web应用程序。其中使用Struts2作为系统的整体基础架构,负责MVC的分离,在Struts2框架的模型部分,控制业务跳转,利用Hibernate框架对持久层提供支持,Spring做管理,管理struts2和hibernate。其集成原理如图3.1所示。图3.1 SSH2集成原理图(4) MVC框架Struts 2 struts2是一个按MVC模式设计的Web层框架,其实它就是一个大大的servlet,这个Servlet名为ActionServlet,或是ActionServlet的子类
33、。我们可以在web.xml文件中将符合某种特征的所有请求交给这个Servlet处理,这个Servlet再参照一个配置文件(通常为/WEB-INF/struts-config.xml)将各个请求分别分配给不同的action去处理。ActionServlet把请求交给action去处理之前,会将请求参数封装成一个formbean对象(就是一个java类,这个类中的每个属性对应一个请求参数)。要说明的是, ActionServlet把formbean对象传递给action的execute方法之前,可能会调用formbean的validate方法进行校验,只有校验通过后才将这个formbean对象传递
34、给action的execute方法,否则,它将返回一个错误页面,这个错误页面由input属性指定。action执行完后要返回显示的结果视图,这个结果视图是用一个ActionForward对象来表示的,actionforward对象通过struts-config.xml配置文件中的配置关联到某个jsp页面,因为程序中使用的是在struts-config.xml配置文件为jsp页面设置的逻辑名,这样可以实现action程序代码与返回的jsp页面名称的解耦。其体系结构如图3.2所示。图3.2 Struts 2体系结构图(5) ORM框架Hibernate通过数据库保存java程序运行时产生的对象和恢
35、复对象,其实就是实现了java对象与关系数据库记录的映射关系,称为ORM(即Object Relation Mapping),人们可以通过封装JDBC代码来实现了这种功能,封装出来的产品称之为ORM框架,Hibernate就是其中的一种流行ORM框架。使用Hibernate框架,不用写JDBC代码,仅仅是调用一个save方法,就可以将对象保存到关系数据库中,仅仅是调用一个get方法,就可以从数据库中加载出一个对象。使用Hibernate的基本流程是:配置Configuration对象、产生SessionFactory、创建session对象,启动事务,完成CRUD操作,提交事务,关闭sessi
36、on。使用Hibernate时,先要配置hibernate.cfg.xml文件,其中配置数据库连接信息和方言等,还要为每个实体配置相应的hbm.xml文件,hibernate.cfg.xml文件中需要登记每个hbm.xml文件。在应用Hibernate时,重点要了解Session的缓存原理,级联,延迟加载和hql查询。其体系结构如图3.3所示。图3.3 Hibernate框架体系结构(6) 开源框架SpringSpring是一个开源框架,是开发者为了解决企业应用开发的复杂性问题而创建的。使用基本的JavaBean来完成以前只能有EJB完成的工作,并提供了许多企业应用功能。然而Spring用途不
37、仅限于服务器开发,从简单性、可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受益。Spring实现了工厂模式的工厂类,这个类名为BeanFactory(实际上是一个接口),在程序中通常BeanFactory的子类ApplicationContext。Spring相当于一个大的工厂类,在其配置文件中通过元素配置用于创建实例对象的类名和实例对象的属性。Spring的核心机制是IoC,Spring也提供了对AOP技术的良好封装。其体系结构如图3.4所示。图3.4 Spring框架体系结构3.2 三层架构系统采用Java技术作为主要开发技术,并选用了一些优秀的开源框架来实现系统所定义
38、的功能。三层架构就是将整个业务应用划分为表现层、业务逻辑层、数据访问层,如图3.5所示。图3.5 三层架构图3.2.1 表现层表现层位于最上层,最接近用户,主要用于显示数据和接收用户输入的数据,为用户提供一种交互式操作的界面。对于表现层,我使用的是Struts2。Struts2并不是一种完全独立的技术,而是建立在其他Web技术上的一个MVC框架。表现层主要作用是将业务逻辑层的数据数据进行组装并发送到客户端,采用MVC架构模式,MVC开始是存在于Desktop程序中的,M是指数据模型,V是指用户界面,C则是控制器,使用MVC的目的是将M和V的实现代码分离,从而使同一个程序可以使用不同的表现形式。
39、MVC模型图如图3.6所示。图3.6 MVC模型图Struts2实现用户请求的处理流程如图3.7所示。图3.7处理流程图3.2.2 业务逻辑层业务逻辑层处于数据访问层与表现层中间,起到了数据交换中承上启下的作用。对于数据访问层而言,业务逻辑层是调用者;对于表示层而言,业务逻辑层是被调用者,依赖与被依赖的关系都纠结在业务逻辑层上。业务逻辑层主要负责处理应用的业务逻辑和业务校验,事务的管理,允许与其他层进行交互,业务级对象之间的依赖性管理,管理从业务层到表现层的实现等。Spring提供了两种事务管理方式:编程序事务管理和声明式事务管理。在酒店客房网上预订与管理系统中我使用的是声明式事务管理。在Sp
40、ring的配置文件(applicationContext.xml)中对sessionFactory,transactionManager进行相关配置,还说明了哪些类哪些方法使用事务以及事务的传播性。HibernateTransactionManager将事务管理的职责委托给org.hibernate.Transaction对象,而Transaction对象是从Hibernate Session中获取到的。当事务成功完成时,HibernateTransactionManager将会调用Transaction对象的commmit()方法。类似地,如果事务失败,Transaction对象的rollb
41、ack()方法将被调用。3.2.3 数据访问层数据访问层又称持久层,封装了数据访问细节,为业务逻辑层提供了面向对象的API。在酒店客房网上预订与管理系统中我是使用Hibernate来完成数据持久化的。Hibernate是持久化的基础服务,带有原生的API和它存储在XML文件中的映射元数据。 Hibernate可以单独使用,适用于每一个Java EE/J2EE应用程序服务器、Swing应用程序、简单的Servlet容器等。只要用户能够给Hibernate配置数据源,它就能够实现。它是通过HQL查询语言或使用更有表现能力的规则API,来完成查询关系信息到对象中的这个工作的。其工作流程如图3.8所示
42、。图3.8工作流程图4 系统数据库设计和实现4.1 MySQL简介MySQL是一种开放源代码的关系型数据库管理系统(RDBMS),MySQL数据库系统使用最常用的数据库管理语言结构化查询语言(SQL)进行数据库管理。由于MySQL是开放源代码的,因此任何人都可以在General Public License的许可下下载并根据个性化的需要对其进行修改。MySQL因为其速度、可靠性和适用性而备受关注。MySQL为多种编程语言提供了API,这些编程语言包括C、C+、Python、Java、Perl、PHP、Eiffel、Ruby和Tcl等。MySQL支持多种字段类型并且提供了完整的操作符支持查询SE
43、LECT和WHERE操作。图4.1 MySQL架构及应用4.2 系统E-R图图4.2 系统E-R图4.3 系统类图图4.3的系统类图是酒店网上预订与管理系统的设计实体及其之间的关系。图4.3 系统类图4.4 数据库主要表结构设计(1) 公告板信息表结构公告板信息表(notice表)主要存放公告板主要信息表,主要包括公告发布日期、发布人、公告内容、公告标题等字段信息。表4-1 公告板信息表结构序号列名类型长度小数可空说明1noticeIdint110否公告ID2noticeDatetimestamp160否公告发布日期3issuervarchar160否发布人4contentvarchar800
44、3否公告内容5titlevarchar200否公告标题(2) 酒店信息表结构酒店信息表(hotel表)主要用来存放酒店介绍基本信息,主要包括酒店图片、酒店名称、工商企业编号、酒店级别、所在城市、具体地址、预订电话等字段信息。表4-2 酒店信息表结构序号列名类型长度小数可空说明1hotelIdint110否主键ID2hotelPicturevarchar1000否酒店图片3hotelNamevarchar1000否酒店名称4businessNovarchar150否工商企业编号5hoteltypeIdint110否酒店级别ID6cityvarchar100否酒店所在城市7hotelAddress
45、varchar2000否具体地址8servicevarchar5000是酒店服务9entertainmentvarchar5000是娱乐项目10reservePhonevarchar120否预订电话11facilitiesvarchar3000是酒店配置12specialDietvarchar3000是饮食服务13introductionvarchar5000是酒店简介14opentimevarchar200是开业时间15hotelPricedouble102否预订价格(3) 客房信息表结构客房信息表(room表)主要用来存放酒店客房基本信息,主要包括客房类型、客房配置、可预订数量、价格、优惠
46、政策、所属酒店、客房图片等字段信息。表4-3 客房信息表结构序号列名类型长度小数可空说明1roomIdint110否主键ID2roomtypeIdint110否客房类型ID3roomStandardvarchar1000否客房配置4roomNumberint110否可预订数量5roomPricedouble102否价格6discountvarchar1000是优惠政策7hotelIdint110否所属酒店8roomPicturevarchar200是客房图片(4) 预订信息表结构预订信息表(reserve表)主要存放客房预订信息表,主要包括预订日期、预订人姓名、联系电话、预订客房的类型、入住日期、预订房间数、退房日期等字段信息。表4-4 预订信息表结构序号列名类型长度小数可空说明1reserveIdint110否预订ID2reserveDatetimestamp00否预定日期3residentNamevarchar200否