课程名称: 数据库原理及应用
项目名称:宾馆客房管理系统
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)
核心代码
后端核心代码
- 连接数据库(com.jdbc.DButil包)
- 登录处理,房间状态处理(com.jdbc包)
- 六个实体类(com.jdbc.entity包)
- 处理数据,前端数据传到数据库,以及数据库数据传到前端(com.jdbc.service包)
- 后端处理,具体功能实现(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"