基于WEB的小型酒店管理系统,源码下载

大家好,我是全微毕设团队的创始人,本团队擅长JAVA(SSM,SSH,SPRINGBOOT)、PYTHON、PHP、C#、安卓等多项技术。

今天将为大家分析一个小型酒店管理系统(当前酒店管理系统已经得到了充足的发展和完善,一些大的酒店购买了功能强大、数据量处理快速、客户行为研究的软件,借此来提升酒店的核心竞争力。但是对于一些中小规模的酒店而言,昂贵的系统花费、专人的维护是不现实的,也是非常不灵活的。一款简单、灵活、经济适用的中小型酒店管理系统的开发非常具有市场前景。 本文针对上面提到的问题,基于JavaEE平台设计并实现了一套基于B/S模式的中小型酒店管理系统,其主要研究的内容如下: 1.本文基于B/S的应用实现模式,在MVC架构的基础上设计并实现了一套中小型酒店管理系统,包括了客户订房管理、接待管理、收银管理、客房管理和系统管理五大功能模块,重点解决了人工管理酒店方式的缺点、客房信息的及时反馈问题以及系统访问安全性等难题。 2.本文的开发过程遵守软件工程的理论,采用了瀑布开发的模型,详细地介绍了中小型酒店管理系统的开发背景、研究现状、系统业务需求、功能需求、非功能需求、系统架构设计、数据库设计、安全设计,给出了核心功能模块的界面实现和代码实现过程,并对系统做了较为详细的功能测试和性能测试,保证了系统的正确性。 通过在酒店的模拟运行,本系统能够实现简化酒店原有工作流程、提高人员与相关资源利用率的目的,同时B/S模式的应用能够在一定程度上节约酒店成本,提高了酒店科学化管理水平。),该项目使用框架为SSM(MYECLIPSE),选用开发工具为MYECLIPSE。小型酒店管理系统为一个 后台项目。

为了完成该系统,我们首先需要对该系统进行需求分析。一个小型酒店管理系统应包含用户角色有管理员、顾客。为了能让用户顺利登陆系统完成相关操作,需要为每种登陆角色设置账户和密码字段。

为了完成系统的功能需要为客房、顾客设置订房表,记录订房信息。在订房表中定义了两者的关联关系,其中订房的客房与客房的biaoti字段对应、订房的客房id与客房的id字段对应、订房的顾客与顾客的mingzi字段对应、订房的顾客id与顾客的id字段对应

总结得出该系统所有数据为:管理员(admin)、客房(kefang)、订房(dingfang)、顾客(guke)

管理员表

字段名 | 类型 | 属性 | 描述

id | INT(11) | PRIMARY KEY | 管理员id

username | VARCHAR(255) |  | 账号

password | VARCHAR(255) |  | 密码

客房表

字段名 | 类型 | 属性 | 描述

id | INT(11) | PRIMARY KEY | 客房id

biaoti | VARCHAR(255) |  | 标题

jieshao | VARCHAR(255) |  | 介绍

jiage | VARCHAR(255) |  | 价格

订房表

字段名 | 类型 | 属性 | 描述

id | INT(11) | PRIMARY KEY | 订房id

kefang | VARCHAR(255) |  | 客房

kefangid | VARCHAR(255) |  | 客房id

guke | VARCHAR(255) |  | 顾客

gukeid | VARCHAR(255) |  | 顾客id

shijian | VARCHAR(255) |  | 时间

dingj | VARCHAR(255) |  | 定金

顾客表

字段名 | 类型 | 属性 | 描述

id | INT(11) | PRIMARY KEY | 顾客id

mingzi | VARCHAR(255) |  | 名字

username | VARCHAR(255) |  | 账号

password | VARCHAR(255) |  | 密码

yue | VARCHAR(255) |  | 余额

sql建表语句

SET FOREIGN_KEY_CHECKS=0;

-- ----------------------------

-- ----------------------------

-- Table structure for ggjiudianguanli

-- ----------------------------

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_kefang`;

CREATE TABLE `t_kefang` (`id` INT(11) NOT NULL AUTO_INCREMENT COMMENT ‘客房id‘,`biaoti` VARCHAR(255) DEFAULT NULL COMMENT ‘标题‘,`jieshao` VARCHAR(5000) DEFAULT NULL COMMENT ‘介绍‘,`jiage` VARCHAR(255) DEFAULT NULL COMMENT ‘价格‘,PRIMARY KEY (`id`)

) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT=‘客房‘;

-- ----------------------------

DROP TABLE IF EXISTS `t_dingfang`;

CREATE TABLE `t_dingfang` (`id` INT(11) NOT NULL AUTO_INCREMENT COMMENT ‘订房id‘,`kefang` VARCHAR(255) DEFAULT NULL COMMENT ‘客房‘,`kefangid` INT(11) DEFAULT NULL COMMENT ‘客房id‘,`guke` VARCHAR(255) DEFAULT NULL COMMENT ‘顾客‘,`gukeid` INT(11) DEFAULT NULL COMMENT ‘顾客id‘,`shijian` VARCHAR(255) DEFAULT NULL COMMENT ‘时间‘,`dingj` VARCHAR(255) DEFAULT NULL COMMENT ‘定金‘,PRIMARY KEY (`id`)

) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT=‘订房‘;

-- ----------------------------

DROP TABLE IF EXISTS `t_guke`;

CREATE TABLE `t_guke` (`id` INT(11) NOT NULL AUTO_INCREMENT COMMENT ‘顾客id‘,`mingzi` VARCHAR(255) DEFAULT NULL COMMENT ‘名字‘,`username` VARCHAR(255) DEFAULT NULL COMMENT ‘账号‘,`password` VARCHAR(255) DEFAULT NULL COMMENT ‘密码‘,`yue` VARCHAR(255) DEFAULT NULL COMMENT ‘余额‘,PRIMARY KEY (`id`)

) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT=‘顾客‘;

客房控制层

package org.mypro.front;

import java.io.File;

import java.io.IOException;

import java.math.BigDecimal;

import java.text.SimpleDateFormat;

import java.util.ArrayList;

import java.util.Calendar;

import java.util.Collections;

import java.util.Date;

import java.util.List;

import javax.jms.Session;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import javax.servlet.http.HttpSession;

import org.apache.commons.lang3.StringUtils;

import org.apache.commons.logging.Log;

import org.apache.commons.logging.LogFactory;

import org.mypro.dao.KefangMapper;

import org.mypro.entity.Kefang;

import org.mypro.entity.KefangExample;

import org.springframework.beans.factory.annotation.Autowired;

import org.springframework.stereotype.Controller;

import org.springframework.web.bind.annotation.RequestMapping;

import org.springframework.web.bind.annotation.RequestMethod;

import org.springframework.web.multipart.MultipartFile;

@Controller

@RequestMapping(value = "/")

public class KefangController {

private static final Log logger = LogFactory.getLog(KefangController.class);

@Autowired
private KefangMapper kefangdao;

//定义方法tianjiakefang,响应页面tianjiakefang请求

@RequestMapping(value = "tianjiakefang")

public String tianjiakefang(HttpServletRequest request, HttpServletResponse response,HttpSession session,String backurl) {

logger.debug("KefangController.tianjiakefang ......");

if(backurl != null && backurl.indexOf("tianjiakefang.action") == -1){

return "forward:/" + backurl; }

return "tianjiakefang";

}

@RequestMapping(value = "tianjiakefangact")

public String tianjiakefangact(HttpServletRequest request,HttpSession session, HttpServletResponse response,Kefang kefang,String backurl) throws IOException {

logger.debug("KefangController.tianjiakefangact ......");

kefangdao.insert(kefang);

request.setAttribute("message", "添加客房成功");

if(backurl != null && backurl.indexOf("tianjiakefangact.action") == -1){

return "forward:/" + backurl; }

//返回tianjiakefang方法

return "forward:/tianjiakefang.action";

}

//定义kefangguanli方法响应页面请求

@RequestMapping(value = "kefangguanli")

public String kefangguanli(HttpServletRequest request,HttpSession session, HttpServletResponse response,String backurl) {

logger.debug("KefangController.kefangguanli ......");

KefangExample example = new KefangExample();

List kefangall = kefangdao.selectByExample(example);

request.setAttribute("kefangall", kefangall);

if(backurl != null && backurl.indexOf("kefangguanli.action") == -1){

return "forward:/" + backurl; }

return "kefangguanli";

}

// 定义 kefangchakan方法

@RequestMapping(value = "kefangchakan")

public String kefangchakan(HttpServletRequest request,HttpSession session, HttpServletResponse response,String backurl) {

logger.debug("KefangController.kefangchakan ......");

KefangExample example = new KefangExample();

List kefangall = kefangdao.selectByExample(example);

request.setAttribute("kefangall", kefangall);

if(backurl != null && backurl.indexOf("kefangchakan.action") == -1){

return "forward:/" + backurl; }

return "kefangchakan";

}

// 定义 xiugaikefang方法

@RequestMapping(value = "xiugaikefang")

public String xiugaikefang(HttpServletRequest request, HttpServletResponse response,HttpSession session,int id,String backurl){

logger.debug("KefangController.xiugaikefang ......");

Kefang kefang = kefangdao.selectByPrimaryKey(id);

request.setAttribute("kefang", kefang);

if(backurl != null && backurl.indexOf("xiugaikefang.action") == -1){

return "forward:/" + backurl; }

return "xiugaikefang";

}

// 定义xiugaikefangact处理客房修改

@RequestMapping(value = "xiugaikefangact")

public String xiugaikefangact(HttpServletRequest request, HttpServletResponse response,Kefang kefang,HttpSession session,String backurl) throws IOException {

logger.debug("KefangController.xiugaikefangact ......");

kefangdao.updateByPrimaryKeySelective(kefang);

request.setAttribute("message", "修改客房信息成功");

if(backurl != null && backurl.indexOf("xiugaikefangact.action") == -1){

return "forward:/" + backurl; }

return "forward:/kefangguanli.action";

}

// 定义shanchukefang,处理删除客房

@RequestMapping(value = "shanchukefang")

public String shanchukefang(HttpServletRequest request, HttpServletResponse response,HttpSession session,int id,String backurl){

logger.debug("KefangController.shanchukefang ......");

kefangdao.deleteByPrimaryKey(id);

request.setAttribute("message", "删除客房成功");

if(backurl != null && backurl.indexOf("shanchukefang.action") == -1){

return "forward:/" + backurl; }

return "forward:/kefangguanli.action";

}

// 定义sousuokefang方法,处理搜索操作

@RequestMapping(value = "sousuokefang")

public String sousuokefang(HttpServletRequest request, HttpServletResponse response,HttpSession session,String search,String backurl) {

logger.debug("KefangController.sousuokefang ......");

KefangExample example = new KefangExample();

KefangExample.Criteria criteria = example.createCriteria();

if(search != null){

criteria.andBiaotiLike("%" + search + "%");

}

List kefangall = kefangdao.selectByExample(example);

request.setAttribute("kefangall", kefangall);

if(backurl != null && backurl.indexOf("sousuokefang.action") == -1){

return "forward:/" + backurl; }

return "sousuokefang";

}

// 定义KefangpinglunMapper@RequestMapping

(value = "kefangxiangqing")

public String kefangxiangqing(HttpServletRequest request,HttpSession session, HttpServletResponse response,int id,String backurl) {logger.

debug("KefangController.kefangxiangqing ......");Kefang kefang 

= kefangdao.selectByPrimaryKey(id);request.

setAttribute("kefang", kefang);

if(backurl != null && backurl.indexOf("kefangxiangqing.action") == -1){

return "forward:/" + backurl; }

return "kefangxiangqing";

}

// 上传文件图片等

public String uploadUtile(MultipartFile file, HttpServletRequest request) throws IOException {

// 根据当前时间生成时间字符串

SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmssSS");

String res = sdf.format(new Date());

// uploads文件夹位置

String rootPath = request.getSession().getServletContext().getRealPath("resource/uploads/");

// 原始名称

String originalFileName = file.getOriginalFilename();

// 新文件名

String newFileName = "sliver" + res + originalFileName.substring(originalFileName.lastIndexOf("."));

// 创建年月文件夹

Calendar date = Calendar.getInstance();

File dateDirs = new File(date.get(Calendar.YEAR) + File.separator + (date.get(Calendar.MONTH)+1));

// 新文件

File newFile = new File(rootPath + File.separator + dateDirs + File.separator + newFileName);

// 判断目标文件所在目录是否存在

if( !newFile.getParentFile().exists()) {

// 如果目标文件所在的目录不存在,则创建父目录newFile.

getParentFile().mkdirs();

}

System.out.println(newFile);

// 将内存中的数据写入磁盘file.

transferTo(newFile);

// 完整的url

String fileUrl = date.get(Calendar.YEAR) + "/" + (date.get(Calendar.MONTH)+1) + "/" + newFileName;

return fileUrl;

}}

源码下载

原文地址:https://www.cnblogs.com/qwcx/p/11520841.html

时间: 2024-12-11 19:38:18

基于WEB的小型酒店管理系统,源码下载的相关文章

Asp.Net MVC4+EF6 Code First 权限管理系统 源码下载

这个权限管理系统是基于在@TZHSWEET 的权限管理系统之上做的修改.@TZHSWEET 那个是DB first. 这个是Code First.源码下载:http://download.csdn.net/detail/wode551120/7280559 http://pan.baidu.com/s/1o6uM2Ae 具体设计思路请参考@TZHSWEET  文章. 项目运行: 1.修改web.config 数据库连接 2.修改Global.asax Application_start方法中.取

基于html5制作3D拳击游戏源码下载

今天给大家分享一款基于HTML5实现的3d拳王游戏源码.这款实例适用浏览器:360.FireFox.Chrome.Safari.Opera.傲游.搜狗.世界之窗. 不支持IE8及以下浏览器. 在线预览   源码下载 实现的代码. html代码: <div id="chf2" style="position: relative; width: 320px; margin: 0 auto;"> <canvas id="gcvs" w

基于web的满意度调查问卷源码功能说明

问卷调查系统应用于各行各业,对于企业的数据回收统计分析战略决策起到至关作用.而现有的问卷调查系统大都是在线使用并将数据保存在第三方服务器上.这种模式每年都要缴纳费用并且数据安全性得不到保证.所以说每个公司都应该有一套部署在自己服务器上并且永久使用的问卷调查系统. 下面给大家讲讲一下问卷调查系统应该包含哪些模块,以及如何设计一个高可用的问卷调查系统.在线体验可以参考:试用地址 支持的功能: 1.响应式设计:电脑.PAD.手机端自动适配自动适配,利于微信传播答题.答题验证.答题进度等等 电脑端答题界

基于S2SH开发学生考勤管理系统 源码 BL

开发环境: Windows操作系统开发工具:MyEclipse/Eclipse + JDK+ Tomcat + MySQL 数据库 项目截图: 获取源码请联系博主-Q:782827013 原文地址:https://www.cnblogs.com/xlrjgzs/p/11145819.html

基于SSM开发超市会员管理系统 源码 BL

开发环境: Windows操作系统开发工具:MyEclipse/Eclipse + JDK+ Tomcat + MySQL 数据库 项目截图: 获取源码请联系博主-Q:782827013 原文地址:https://www.cnblogs.com/xlrjgzs/p/11146835.html

基于SSM开发学生信息管理系统 源码 B

开发环境: Windows操作系统开发工具:MyEclipse/Eclipse + JDK+ Tomcat + MySQL 数据库 项目截图: 获取源码请联系博主-Q:782827013 原文地址:https://www.cnblogs.com/xlrjgzs/p/11146711.html

[源码下载]Demo1 客户端从服务器获取信息(基于networkcomms2.3.1)

本demo基于networkcomms2.3.1开源版本 源码下载:从服务器获取信息   框架部分源码请到这里下载 实现的功能很简单 1:服务器开始监听 2:客户端连接服务器 并从服务器获取信息 源码在后续文章中

JAVA基于web的师资管理系统,源码下载

大家好,我是全微毕设团队的创始人,本团队擅长JAVA(SSM,SSH,SPRINGBOOT).PYTHON.PHP.C#.安卓等多项技术.今天将为大家分析一个基于web的师资管理系统(当今世界是一个信息高度发展的世界,计算机技术的高度发展,并且广泛的运用到生活中的各个领域,给人类带来了快的进步的同时也带来了进一步的革新.特别是,近年来,高校的办学规模.教师队伍在不断扩大增加,这些因素导致我们传统的教学管理模式已不适用于高速发展的信息时代模式,高校教师的各方面素质也在不断提高,高校的管理方式也相应

基于SSM的车辆故障管理系统程序设计,源码下载

大家好,我是全微毕设团队的创始人,本团队擅长JAVA(SSM,SSH,SPRINGBOOT).PYTHON.PHP.C#.安卓等多项技术. 今天将为大家分析一个车辆故障管理系统(本文针对汽车故障诊断专家系统 中知识库的特点,设计了一种基于Windows平台的知识库管理系统(KnowledgebaseManagementSystem以下简称KBMS), 该系统充分利用了数据库技术,实现了对知识库中知识的存储.增加.删除.修改和查询,以及对知识进行一致性和完整性校验,为汽车故障诊断专家系统的开发和