web酒店客房预订平台
每天记录学习,每天会有好心情。*^_^*
最近了解了基于web的酒店客房预订平台项目,在这个平台记录一下这个基于web的酒店客房预订平台项目,方便以后再次使用或学习的时候能够及时的翻阅。在完成基于web的酒店客房预订平台项目的时候,考虑了很多框架。最终决定选用SSM(MYECLIPSE),该框架具有极强的移植性,多平台性,便于操作性等优点。此框架能在MYECLIPSE开发工具中完美的编写和运行,基于web的酒店客房预订平台为一个 后台项目。采用当前非常流行的B/S体系结构,以JSP作为开发技术,主要依赖SSM技术框架,mysql数据库建立本系统。 适当地增加了客户端的独立登录应用,使得能保持在原来的系统的基础上进行升级,真正实现酒店的无纸化,电子信息化、无距离限制的进行客房信息的预订。
在对基于web的酒店客房预订平台项目进行需求分析的时候,得出系统的登录角色包括了管理员、用户。对应用户可以通过登录自己的账号,进行入系统。系统对不同角色拥有不同权限。
预定联系了房间,通过关联使得房间之间建立了联系,加强了系统的实用性和便捷性。增强了用户体验。他们之间的关联关系是预定的价格与房间的jiage字段对应
。
总结得出基于web的酒店客房预订平台项目所有数据为:管理员(admin)、用户(yonghu)、酒店(jiudian)、房间(fangjian)、预定(yuding)
基于web的酒店客房预订平台之管理员表
字段名 | 类型 | 属性 | 描述 id | INT(11) | PRIMARY KEY | 管理员id username | VARCHAR(255) | | 账号 password | VARCHAR(255) | | 密码
基于web的酒店客房预订平台之用户表
字段名 | 类型 | 属性 | 描述 id | INT(11) | PRIMARY KEY | 用户id xingming | VARCHAR(255) | | 姓名 username | VARCHAR(255) | | 账号 password | VARCHAR(255) | | 密码 zhiwu | VARCHAR(255) | | 职务
基于web的酒店客房预订平台之酒店表
字段名 | 类型 | 属性 | 描述 id | INT(11) | PRIMARY KEY | 酒店id mingzi | VARCHAR(255) | | 名字 xingji | VARCHAR(255) | | 星级 dizhi | VARCHAR(255) | | 地址
基于web的酒店客房预订平台之房间表
字段名 | 类型 | 属性 | 描述 id | INT(11) | PRIMARY KEY | 房间id leixing | VARCHAR(255) | | 类型 jiage | VARCHAR(255) | | 价格 shuliang | VARCHAR(255) | | 数量
基于web的酒店客房预订平台之预定表
字段名 | 类型 | 属性 | 描述 id | INT(11) | PRIMARY KEY | 预定id fangjian | VARCHAR(255) | | 房间 leixing | VARCHAR(255) | | 类型 jiage | VARCHAR(255) | | 价格 shuliang | VARCHAR(255) | | 数量
SET FOREIGN_KEY_CHECKS=0; -- ---------------------------- -- ---------------------------- -- Table structure for ggjywebdjdkfydpt -- ---------------------------- DROP TABLE IF EXISTS `t_admin`; CREATE TABLE `t_admin` (`id` INT(11) NOT NULL AUTO_INCREMENT COMMENT '管理员id',`username` VARCHAR(255) DEFAULT NULL COMMENT '账号',`password` VARCHAR(255) DEFAULT NULL COMMENT '密码',PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='管理员'; -- ---------------------------- DROP TABLE IF EXISTS `t_yonghu`; CREATE TABLE `t_yonghu` (`id` INT(11) NOT NULL AUTO_INCREMENT COMMENT '用户id',`xingming` VARCHAR(255) DEFAULT NULL COMMENT '姓名',`username` VARCHAR(255) DEFAULT NULL COMMENT '账号',`password` VARCHAR(255) DEFAULT NULL COMMENT '密码',`zhiwu` VARCHAR(255) DEFAULT NULL COMMENT '职务',PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='用户'; -- ---------------------------- DROP TABLE IF EXISTS `t_jiudian`; CREATE TABLE `t_jiudian` (`id` INT(11) NOT NULL AUTO_INCREMENT COMMENT '酒店id',`mingzi` VARCHAR(255) DEFAULT NULL COMMENT '名字',`xingji` VARCHAR(255) DEFAULT NULL COMMENT '星级',`dizhi` VARCHAR(255) DEFAULT NULL COMMENT '地址',PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='酒店'; -- ---------------------------- DROP TABLE IF EXISTS `t_fangjian`; CREATE TABLE `t_fangjian` (`id` INT(11) NOT NULL AUTO_INCREMENT COMMENT '房间id',`leixing` VARCHAR(255) DEFAULT NULL COMMENT '类型',`jiage` VARCHAR(255) DEFAULT NULL COMMENT '价格',`shuliang` VARCHAR(255) DEFAULT NULL COMMENT '数量',PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='房间'; -- ---------------------------- DROP TABLE IF EXISTS `t_yuding`; CREATE TABLE `t_yuding` (`id` INT(11) NOT NULL AUTO_INCREMENT COMMENT '预定id',`fangjian` VARCHAR(255) DEFAULT NULL COMMENT '房间',`leixing` VARCHAR(255) DEFAULT NULL COMMENT '类型',`jiage` VARCHAR(255) DEFAULT NULL COMMENT '价格',`shuliang` VARCHAR(255) DEFAULT NULL COMMENT '数量',PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='预定';
添加预定模块:
通过添加预定模块,可以完成预定的添加操作。在页面中跳转到添加预定页面,输入预定的所有信息,点击添加操作,可以将预定数据以post提交到yudingController中。预定所包含的字段信息包括房间,类型,价格,数量。在yudingController中通过定义yuding接受所有的预定参数。使用yudingdao的insert方法将yuding实体插入到数据库中。完成数据的添加操作,在yudingMapper中匹配对应的yudingxml完成插入sql语句的执行操作。该部分核心代码如下:
通过yudingdao的insert方法将页面传输的预定添加到数据库中 yudingdao.insert(yuding);
将添加预定成功信息,保存到request的message中,在页面中给出用户提示 request.setAttribute("message", "添加预定成功");
返回预定管理界面
return "forward:/tianjiayuding.action";
查询预定模块:
在浏览器中进入预定查询页面时,此时浏览器的地址栏为yudingguanli.action,该地址将响应yudingController类中的yudingguanli,在该方法中,通过selectByexample方法获取所有的预定信息,并将该信息保存到request中,在页面进行循环展示。该部分核心代码如下:
生成预定样例类,通过example定义查询条件 YudingExample example = new YudingExample();
通过yudingdao的selectByExample方法查询出所有的预定信息 List yudingall = yudingdao.selectByExample(example);
将预定信息,保存到request中,在页面通过foreach方法进行展示 request.setAttribute("yudingall", yudingall);
返回预定管理界面
return "forward:/yudingguanli.action";
修改预定模块:
在页面填写完修改信息后,点击修改按钮,将数据提交到xiugaiyuding中,封装为一个预定
,使用update方法修改该预定信息,将数据同步到数据库,完成修改操作。
定义修改成功提示信息,修改预定成功,并保存到request中具体代码如下:
通过yudingdao的修改方法根据id修改对应的预定 yudingdao.updateByPrimaryKeySelective(yuding);
将修改预定成功信息,保存到request的message中,在页面中给出用户提示 request.setAttribute("message", "修改预定信息成功");
返回预定管理界面
return "forward:/yudingguanli.action";
删除预定模块:
删除预定功能实现在yudingController中,实现方法为shanchuyuding。在页面中通过get方法shanchuyuding.action?Id的形式将需要删除的预定id上传到服务器中,响应对应的方法,调用yudingdao中的deleteByPrimaryKey方法,完成删除操作。将删除成功的提示信息返回到页面中,完成删除数据的操作。该部分核心代码:
通过yudingdao的删除方法根据id删除对应的预定 yudingdao.deleteByPrimaryKey(id);
将删除预定成功信息,保存到request的message中,在页面中给出用户提示 request.setAttribute("message", "删除预定成功");
返回预定管理界面
return "forward:/yudingguanli.action";