博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
课程设计---宾馆客房管理系统
阅读量:3962 次
发布时间:2019-05-24

本文共 3522 字,大约阅读时间需要 11 分钟。

课程名称: 数据库原理及应用

项目名称:宾馆客房管理系统

eclipse、Tomcat、MySQL8、Navicat

【项目内容】

1、主要数据表
客户住房信息登记表,客房信息统计表,账目统计表等。
2、功能模块
1)接待人员可以完成为客人预订房间,客人入住登记,客人离店结帐,并生成结帐报表;并可以按多种属性查询客房或客人情况。
2)经理可以随时查询、汇总宾馆客房和客人情况,并获得房间入住情况汇总报表。
3)经理可以进行房价调整,房间增减。

系统需求分析

结合项目要求以及通过对部分酒店客房管理模式的分析,我们小组设计的宾馆客房管理系统的功能需求具体如下: 该系统用户设置为员工与经理两大类别,各类别用户都有自己的权限。

对系统的第一大用户经理,他具有如下功能:

(1)经理必须通过帐号和密码登入系统。

(2)经理能够对员工进行注册,能够对员工的个人信息进行查询、修改和删除。
(3)经理能够对客户信息进行管理。
(4)经理能够对客房进行管理,主要包括对客房基本信息的添加、查询、删除等管理操作。
(5)经理能够对宾馆客房基本信息进行管理,主要包括对客房的定价等信息进行管理操作。
(6)经理能够对客户的入住消费进行管理,主要包括客户入住日期、退房日期、房费结算等进行管理操作。
(7)经理能够对员工和清洁工的信息进行管理,主要包括对员工和清洁工基本信息的修改和删除,以及增添新的员工和清洁工。

对系统的第二大用户员工,他具有以下功能:

(1)员工必须通过帐号和密码登入系统;

(2)员工可以对客户入住情况进行登记操作,对客户退房进行结账操作,对房间的清扫进行操作;
(3)员工可以对房间的打扫进行操作。
(4)员工为客户办理会员注册。
(5)员工可以查询房间的状态,主要包括是否入住,是否打扫等情况。
综上经理的权限明显多于员工的管理权限,不同权限管理可进行操作稍有差异。

系统的概要设计

E-R图

在这里插入图片描述
功能模块图
在这里插入图片描述

数据库物理设计

(1)清洁工表

清洁工表(clean_worker)
在这里插入图片描述
(2)顾客表
顾客表(custom)
在这里插入图片描述
(3)入住信息表
入住信息表(jdorder)
在这里插入图片描述
(4)房间信息表
房间信息表(room)
在这里插入图片描述
(5)VIP顾客信息表
VIP顾客信息表(VIP)
在这里插入图片描述
(6)员工表
员工表(worker)
在这里插入图片描述

核心代码

后端核心代码

  1. 连接数据库(com.jdbc.DButil包)
  2. 登录处理,房间状态处理(com.jdbc包)
  3. 六个实体类(com.jdbc.entity包)
  4. 处理数据,前端数据传到数据库,以及数据库数据传到前端(com.jdbc.service包)
  5. 后端处理,具体功能实现(com.jdbc.servlet包)

在这里插入图片描述

在这里插入图片描述
DButil.java类(jdbc连接数据库)

package com.jdbc.DButil;import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException;public class DButil {
private static String driver="com.mysql.cj.jdbc.Driver"; private static String url = "jdbc:mysql://localhost:3306/jdgl?useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=UTC";/* * Asia * / * Shanghai */ private static String user="root"; private static String password="19980226"; private static Connection conn = null; private static PreparedStatement ps=null; private static ResultSet rs=null; //加载驱动 public static Connection getConn() throws SQLException {
try {
Class.forName(driver); /* System.out.println("成功加载驱动"); */ conn=DriverManager.getConnection(url, user, password); /* System.out.println("连接成功"); */ } catch (ClassNotFoundException e) {
// TODO Auto-generated catch block e.printStackTrace(); } return conn; } //释放资源 public static void close() throws SQLException {
if(rs!=null) {
rs.close(); } if(ps!=null) {
ps.close(); } if(conn!=null) {
conn.close(); } } //查询 public static ResultSet select(String sql,Object[] obj) throws SQLException {
DButil.getConn(); try {
ps=conn.prepareStatement(sql); } catch (SQLException e) {
// TODO Auto-generated catch block e.printStackTrace(); } for(int i=0;i

前端核心代码

  1. 引入bootstrap文件,相关js文件,自己写的CSS文件等(assets文件夹)
  2. 管理员界面(backStage文件夹)
  3. 员工界面(forehead、success、sys文件夹)
  4. 登录界面(login.jsp文件)
    在这里插入图片描述
    在这里插入图片描述
    登录界面(login.jsp)
<%@ page language="java" contentType="text/html; charset=UTF-8"	pageEncoding="UTF-8"%><%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
登录界面

系统实现

登录界面

在这里插入图片描述
员工管理界面
在这里插入图片描述
经理管理界面
在这里插入图片描述

员工管理

在这里插入图片描述

注意

连接自己的数据库时,在com.jdbc.DButil包下面的java文件里,修改为自己的用户名和密码。

在这里插入图片描述
Worker表里面workertype,其中0代表员工,1代表经理,0代表清洁工。
登录的时候,选择员工登录时,输入数据库中workertype为0的对应的姓名和密码。选择经理登录时,输入workertype为1的对应的姓名和密码。

本文借鉴至,https://blog.csdn.net/weixin_42673117/article/details/100527448。非常感谢博主的分享。

你可能感兴趣的文章
项目中一个用于导出word的方法
查看>>
项目中用到小技术点
查看>>
管理数据库连接不得不注意的地方
查看>>
KS系统总结
查看>>
测试Jsp 静态包含和动态包含
查看>>
简析几种常用的Web监听
查看>>
Web应用过滤器Fileter
查看>>
代理模式(Proxy)
查看>>
采用动态代理对事务进行封装
查看>>
采用ThreadLocal维护Connection
查看>>
测试JSTL表达式
查看>>
一口一口吃掉Struts(六)——动态ActionForm
查看>>
一口一口吃掉struts(七)——ActionForward知多少
查看>>
浅析Hibernate映射(二)——关系映射(3)
查看>>
浅析Hibernate映射(四)——组件映射(component)
查看>>
Hibernate性能优化
查看>>
Spring核心ioc
查看>>
SSH框架总结(框架分析+环境搭建+实例源码下载)
查看>>
Struts2+Spring3+Mybatis3开发环境搭建
查看>>
mongoDB入门必读(概念与实战并重)
查看>>