大学酒店管理系统学士论文资料 下载本文

息,包括该会员的信息,房间号,预定时间,入住时间,离店时间等,结构如表4-6所示。

字段名 id user_id kefang_id kaishishijian jieshushijian yudingshijian yajin 表4-6 预订信息表(t_yuding) 字段含义 类型 int 编号 int 会员ID int 客房ID varchar(50) 入住时间 varchar(50) 离开时间 varchar(50) 预定时间 varchar(50) 押金 约束条件 主键 7.入住信息表t_ruzhu(id,kefang_id,user_id,shenfenzheng,kaishishijian, jieshushijian,yajin,feiyong):入住信息表记录了入住的基本信息,包括入住时间,离开时间,身份证等,结构如表4-7所示。

字段名 id user_id kefang_id kaishishijian jieshushijian shenfenzheng feiyong yajin 表4-7 入住信息表(t_ruzhu) 字段含义 类型 varchar(50) 编号 varchar(50) 会员ID varchar(50) 客房ID varchar(50) 入住时间 varchar(50) 离开时间 varchar(50) 身份证号 varchar(50) 费用 varchar(50) 押金 约束条件 主键 8.菜品信息表t_caipin(id,caipinjianjie,caipinming,caipinjiage,del, tupian):菜品信息表记录了菜品的基本信息,包括菜品名,简介,类型,价格等,结构如表4-8所示。

字段名 id caipinjianjie caipinming caipinjiage tupian 表4-8 菜品信息表(t_caipin) 字段含义 类型 varchar(50) 编号 varchar(500) 菜品简介 varchar(50) 菜品名 int 菜品价格 varchar(50) 图片 约束条件 主键 9.订菜信息表t_dingcai(id,caipin_id,kaishishijian,xiaofei,yudingshijian,user_id):订菜信息表记录了会员订菜的基本信息,包括菜品编号,用餐时间,预定时间等,结构如表4-9所示。

- 26 -

字段名 id caipin_id kaishishijian xiaofei yudingshijian user_id 表4-9 订菜信息表(t_dingcai) 字段含义 类型 varchar(50) 编号 varchar(50) 菜品ID varchar(50) 用餐时间 int 消费 varchar(50) 预定时间 varchar(50) 会员ID 约束条件 主键 10.用餐信息表t_yongcan(id,caipin_id,kaishishijian,yudingshijian,user_id):用餐信息表记录了会员用餐的基本信息,包括菜品编号,用餐时间,预定时间等,结构如表4-10所示。

表4-10 用餐信息表(t_yongcan) 字段名 字段含义 类型 id varchar(50) 编号 caipin_id varchar(50) 菜品ID kaishishijian varchar(50) 用餐时间 yudingshijian varchar(50) 预定时间 user_id varchar(50) 会员ID 约束条件 主键 - 27 -

第5章 系统实现

在管理信息系统的生命周期中,经过了需求分析、系统设计等阶段之后,便开始了系统实施阶段。在系统分析和设计阶段,系统开发工作主要是集中在逻辑、功能和技术设计上,系统实施阶段要继承此前面各个阶段的工作成果。将技术设计转化为物理实现,因此系统实施的成果是系统分析和设计阶段的结晶。

5.1 数据库的连接原理

采用JDBC连接数据库的方式,只需在工程中导入对应数据库的Jar包,就可以方便的对数据库进行连接,在程序中,用Class.forName( )方法来加载驱动程序,在用DriverManager的getConnection( )方法就可以创建一个数据库连接。程序采用的是DAO模式来操作数据库,DAO (Data Access Object,数据访问对象),是Java编程中的一种经典模式,已被广泛应用,也是J2EE架构中持久层框架的基础知识,基于分层次式的软件架构来实现对数据库的访问操作。DAO模式的主要思想就是从抽象数据源获取与操纵数据的方法。抽象数据的含义就是编写应用程序的程序员不必关心数据库的物理位置,已经是何种数据库,只需使用封装数据库中表示记录的数据对象即可。其思想如图5-1所示。

封装 BusinessObject 获取/修改 使用 DataAccessObject 创建/使用 DataSource DataTransferObject 图5-1 DAO模式类图

图5-1中BussinessObject是业务对象,是使用DAO模式的客户端;DataTransferObject数据传输对象,在应用程序不同层次之间传输对象,在一个分布式应用程序中,通常可以提高整理的性能;DataObjectAcces数据输入/输出对象封装了对数据源的一些基本操作;DataSource指的是数据源。可以从图中看出,DAO模式分离了业务逻辑和数据逻辑,用此编写的软件具有良好的层次式体系结构。本系统为了方便数据库的操作,主要使用DBContent的对象来接一个数据库(建立一个类DBContent),关键代码如下。

public DBContent( ){

- 28 -

String CLASSFORNAME=\

com.microsoft.SQLServer.jdbc.SQLServerDriver\连接数据库的驱动 String url=\String user=\连接数据库的用户名

String password=\连接数据库的密码 try{

Class.forName(CLASSFORNAME);

con= DriverManager.getConnection(url,user,password);//加载数据库的驱动 stmt=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet. CONCUR_UPDATABLE);} catch(Exception ex){ ex.printStackTrace( ); } }

在程序需要连接数据库的地方,只需要生成一个DBConnet的对象,就可以对数据库进行连接并操作。

5.2 系统登录页面实现

为了保证系统的安全性,要先使用本系统必须先登陆到系统中,用户需要正确的账号和密码登录本系统。程序运行效果图如图5-2所示。

图5-2 系统登陆页面设计

在登陆页面输入用户名和密码后,点击提交按钮,跳转到登陆的service中,在该service中会对用户名,密码,验证码进行判断,验证通过进入对应的页面。关键代码如下。

public String login(String userName,String userPw,int userType){ String result=\

String sql=\Object[] con={userName,userPw};

List adminList=adminDAO.getHibernateTemplate( ).find(sql,con); if(adminList.size( )==0){ result=\

- 29 -