java基于ssm的酒店管理系统

项目介绍

随着人类自身的发展,在日益发展的城市化进程中,酒店的数量不断增加,利用信息化管理系统势在必行。传统的人工方式管理存在很多的缺点,诸如效率低、保密性差,特别是数据量较大时,对于查找、更新和维护都带来了不少的困难。使用酒店管理系统管理不同种类且数量繁多的事务,可以提高酒店管理工作的效率,减少工作中可能出现的错误,为旅客提供更好的服务,是现代化城市水平的重要组成部分。
本文将介绍系统开发中采用的MVC框架以及在系统中使用的JSP等技术。本次设计应用的是WEB应用开发的Spring+Springmvc+MyBatis技术,采用MVC三层体系结构设计模式,Tomcat服务器和MySQL数据库。系统按照传统的三层体系结构设计,分为用户界面层、商业逻辑层和数据库层。用户界面层处理用户的输入和向用户输出,但并不负责解释其含义。商业逻辑层是上下两层的纽带,它建立实际的数据库连接。商业逻辑层由两个模块组成,分为数据处理模块和数据库连接模块;数据库层用来保存数据。

技术介绍

Spring是一个轻量级的IOC和AOP容器框架:轻量级,程序实现不是很复杂,代码不是很多,占用资源不是很多,没有侵入性;IOC(Inversion of Control 控制反转):对象创建责任的反转(重点,核心);Aop(Aspect Oriented Programming):一种面向横切面编程的思想方式,可以进行功能性扩展。另外容器可以容纳对象,并且可以控制对象的生命周期。
SpringMVC框架也是一个基于请求驱动的Web框架,并且也使用了前端控制器模式来进行设计,再根据请求映射规则分发给相应的页面控制器(动作/处理器)进行处理。
MyBatis的前身叫iBatis,本是apache的一个开源项目, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis。MyBatis是支持普通SQL查询,存储过程和高级映射的优秀持久层框架。MyBatis消除了几乎所有的JDBC代码和参数的手工设置以及结果集的检索。MyBatis使用简单的XML或注解用于配置和原始映射,将接口和Java的POJOs(Plan Old Java Objects,普通的Java对象)映射成数据库中的记录。

数据库表

CREATE TABLE attribute (
id int(11) NOT NULL AUTO_INCREMENT COMMENT ‘属性ID’,
attributeName varchar(30) DEFAULT NULL COMMENT ‘属性名称’,
PRIMARY KEY (id)
) ENGINE=InnoDB AUTO_INCREMENT=18 DEFAULT CHARSET=utf8;

CREATE TABLE attributedetails (
id int(11) NOT NULL AUTO_INCREMENT COMMENT ‘属性明细ID’,
attributeID int(11) DEFAULT NULL COMMENT ‘属性ID’,
attributeDetailsName varchar(30) DEFAULT NULL COMMENT ‘属性明细名称’,
PRIMARY KEY (id)
) ENGINE=InnoDB AUTO_INCREMENT=72 DEFAULT CHARSET=utf8;

CREATE TABLE commodity (
id int(11) NOT NULL AUTO_INCREMENT COMMENT ‘商品ID’,
commodityTypeID int(11) DEFAULT NULL COMMENT ‘商品类别ID’,
uOMID int(11) DEFAULT NULL COMMENT ‘计量单位ID’,
commodityName varchar(50) DEFAULT NULL COMMENT ‘商品名称’,
salePrice decimal(8,2) DEFAULT NULL COMMENT ‘销售价格’,
PRIMARY KEY (id)
) ENGINE=InnoDB AUTO_INCREMENT=13 DEFAULT CHARSET=utf8;

CREATE TABLE consumptiondetails (
id int(11) NOT NULL AUTO_INCREMENT COMMENT ‘消费明细ID’,
stayRegisterID int(11) DEFAULT NULL COMMENT ‘住宿登记ID’,
commodityID int(11) DEFAULT NULL COMMENT ‘商品ID’,
consumptionNumber varchar(10) DEFAULT NULL COMMENT ‘消费数量’,
consumptionMoney decimal(8,2) DEFAULT NULL COMMENT ‘消费金额’,
consumptionTime timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT ‘消费时间’,
PRIMARY KEY (id)
) ENGINE=InnoDB AUTO_INCREMENT=37 DEFAULT CHARSET=utf8;

CREATE TABLE depoit (
id int(11) NOT NULL AUTO_INCREMENT,
stayRegisterID int(11) DEFAULT NULL COMMENT ‘住宿登记ID’,
payWayID int(11) DEFAULT NULL COMMENT ‘支付方式ID’,
registerTime timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT ‘登记时间’,
deposit decimal(8,2) DEFAULT NULL COMMENT ‘押金’,
PRIMARY KEY (id)
) ENGINE=InnoDB AUTO_INCREMENT=74 DEFAULT CHARSET=utf8;

DROP TABLE IF EXISTS passenger;

CREATE TABLE passenger (
id int(11) NOT NULL AUTO_INCREMENT COMMENT ‘旅客ID’,
papersID int(11) DEFAULT NULL COMMENT ‘证件ID’,
educationDegreeID int(11) DEFAULT NULL COMMENT ‘文化程度ID’,
genderID int(11) DEFAULT NULL COMMENT ‘性别ID’,
passengerLevelID int(11) DEFAULT NULL COMMENT ‘旅客级别ID’,
nationID int(11) DEFAULT NULL COMMENT ‘民族ID’,
thingReasonID int(11) DEFAULT NULL COMMENT ‘事由’,
name varchar(20) DEFAULT NULL COMMENT ‘姓名’,
papersNumber varchar(30) DEFAULT NULL COMMENT ‘证件号码’,
birthDate varchar(30) DEFAULT NULL COMMENT ‘出生日期’,
licenceIssuingAuthorty varchar(50) DEFAULT NULL COMMENT ‘发证机关’,
unitsOrAddress varchar(50) DEFAULT NULL COMMENT ‘单位或住址’,
papersValidity varchar(50) DEFAULT NULL COMMENT ‘证件有效期’,
profession varchar(20) DEFAULT NULL COMMENT ‘职业’,
whereAreFrom varchar(100) DEFAULT NULL COMMENT ‘从何处来’,
whereToGo varchar(100) DEFAULT NULL COMMENT ‘到哪里去’,
contactPhoneNumber varchar(20) DEFAULT NULL COMMENT ‘联系电话’,
remarks varchar(100) DEFAULT NULL COMMENT ‘备注’,
PRIMARY KEY (id)
) ENGINE=InnoDB AUTO_INCREMENT=29 DEFAULT CHARSET=utf8;

DROP TABLE IF EXISTS predetermine;

CREATE TABLE predetermine (
id int(11) NOT NULL AUTO_INCREMENT COMMENT ‘预定ID’,
roomID int(11) DEFAULT NULL COMMENT ‘房间ID’,
predetermineTargetID int(11) DEFAULT NULL COMMENT ‘预定对象ID’,
passengerID int(11) DEFAULT NULL COMMENT ‘旅客ID’,
payWayID int(11) DEFAULT NULL COMMENT ‘支付方式 ID’,
predetermineStateID int(11) DEFAULT NULL COMMENT ‘预定状态ID’,
arriveTime timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT ‘抵达时间’,
deposit decimal(8,2) DEFAULT NULL COMMENT ‘押金’,
predetermineDay varchar(10) DEFAULT NULL COMMENT ‘预定天数’,
remind int(11) DEFAULT ‘0’ COMMENT ‘到时提示’,
PRIMARY KEY (id)
) ENGINE=InnoDB AUTO_INCREMENT=27 DEFAULT CHARSET=utf8;

DROP TABLE IF EXISTS receivetarget;

CREATE TABLE receivetarget (
id int(11) NOT NULL AUTO_INCREMENT COMMENT ‘接待对象ID’,
targetTypeID int(11) DEFAULT NULL COMMENT ‘对象类别ID’,
principal varchar(20) DEFAULT NULL COMMENT ‘负责人’,
teamName varchar(30) DEFAULT NULL COMMENT ‘团队名称’,
teamCode varchar(30) DEFAULT NULL COMMENT ‘团队编号’,
registerTime timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT ‘登记时间’,
contactPhoneNUmber varchar(20) DEFAULT NULL COMMENT ‘联系电话’,
PRIMARY KEY (id)
) ENGINE=InnoDB AUTO_INCREMENT=14 DEFAULT CHARSET=utf8;

DROP TABLE IF EXISTS room;

CREATE TABLE room (
id int(11) NOT NULL AUTO_INCREMENT COMMENT ‘房间id’,
guestRoomLevelID int(11) DEFAULT NULL COMMENT ‘客房等级ID’,
roomStateID int(11) DEFAULT NULL COMMENT ‘房态ID’,
roomNumber varchar(10) DEFAULT NULL COMMENT ‘房间号’,
roomAmount varchar(10) DEFAULT NULL COMMENT ‘床位数’,
standardPriceDay decimal(8,2) DEFAULT NULL COMMENT ‘标准房价/天’,
standardPrice decimal(8,2) DEFAULT NULL COMMENT ‘标准房价/小时’,
maxDuration varchar(10) DEFAULT NULL COMMENT ‘时长限制(小时)’,
firstDuration varchar(10) DEFAULT NULL COMMENT ‘首段时长(小时)’,
firstPrice decimal(8,2) DEFAULT NULL COMMENT ‘首段价格’,
PRIMARY KEY (id)
) ENGINE=InnoDB AUTO_INCREMENT=35 DEFAULT CHARSET=utf8;

DROP TABLE IF EXISTS stayregister;

CREATE TABLE stayregister (
id int(11) NOT NULL AUTO_INCREMENT COMMENT ‘住宿登记ID’,
predetermineID int(11) DEFAULT NULL COMMENT ‘预定ID’,
rentOutTypeID int(11) DEFAULT NULL COMMENT ‘出租方式ID’,
roomID int(11) DEFAULT NULL COMMENT ‘房间ID’,
payWayID int(11) DEFAULT NULL COMMENT ‘结账方式ID’,
billUnitID int(11) DEFAULT NULL COMMENT ‘结账单位ID’,
passengerTypeID int(11) DEFAULT NULL COMMENT ‘旅客类别ID’,
receiveTargetID int(11) DEFAULT NULL COMMENT ‘接待对象ID’,
deputyID int(11) DEFAULT NULL COMMENT ‘副ID’,
isBillID int(11) DEFAULT NULL COMMENT ‘结账否’,
registerTime timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT ‘登记时间’,
stayNumber varchar(20) DEFAULT NULL COMMENT ‘住店天数/小时’,
sumConst decimal(8,2) DEFAULT NULL COMMENT ‘总费用’,
ChangingRoomNumber varchar(10) DEFAULT NULL COMMENT ‘换房次数’,
changRoomMoney decimal(8,2) DEFAULT NULL COMMENT ‘换房费’,
remarks varchar(200) DEFAULT NULL COMMENT ‘备注’,
payTime timestamp NULL DEFAULT NULL COMMENT ‘结账时间’,
changRoomTime timestamp NULL DEFAULT NULL COMMENT ‘换房时间’,
remind int(11) DEFAULT ‘0’ COMMENT ‘提醒结账’,
PRIMARY KEY (id)
) ENGINE=InnoDB AUTO_INCREMENT=45 DEFAULT CHARSET=utf8;

DROP TABLE IF EXISTS stayregisterdetails;

CREATE TABLE stayregisterdetails (
id int(11) NOT NULL AUTO_INCREMENT COMMENT ‘住宿登记明细id’,
stayRegisterID int(11) DEFAULT NULL COMMENT ‘住宿登记id’,
passengerID int(11) DEFAULT NULL COMMENT ‘旅客id’,
PRIMARY KEY (id)
) ENGINE=InnoDB AUTO_INCREMENT=49 DEFAULT CHARSET=utf8;

DROP TABLE IF EXISTS users;

CREATE TABLE users (
id int(11) NOT NULL AUTO_INCREMENT,
userName varchar(20) DEFAULT NULL,
password varchar(20) DEFAULT NULL,
PRIMARY KEY (id)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8;

登录主界面:
在这里插入图片描述
在这里插入图片描述

用户名是sa,密码是123,登录进去后的主界面如下:
在这里插入图片描述

因为现在没有数据,所以这个图表没有显示出来,
房间管理:客房管理、房间商品分类管理、房间商品管理:
在这里插入图片描述

在这里插入图片描述

住宿管理:客房预订、住宿登记:

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

财务统计:
在这里插入图片描述

旅客管理:
在这里插入图片描述
在这里插入图片描述

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

qq_1406299528

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值