Loading [MathJax]/jax/input/TeX/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >基于java的酒店管理系统的设计与实现_java酒店管理系统源码

基于java的酒店管理系统的设计与实现_java酒店管理系统源码

作者头像
全栈程序员站长
发布于 2022-11-08 08:43:17
发布于 2022-11-08 08:43:17
1.5K00
代码可运行
举报
运行总次数:0
代码可运行

大家好,又见面了,我是你们的朋友全栈君。

前言: 项目是使用Java swing开发,可实现基础数据维护用户登录、系统首页酒店信息管理、主要模块是开房管理、退房管理、房间信息管理、顾客信息管理等功能。界面设计比较简介、适合作为Java课设设计以及学习技术使用。获取源码 引言 在信息高度发达的今天, 酒店业务涉及的各个工作环节已不再仅仅是传统 的住宿、 结算业务,而是更广、更全面的服务性行业代表。酒店宾馆作为一个服务性行业,从客 房的营销即客人的预定开始, 到入住登记直到最后退房结账, 整个过程应该能够体现以 宾客为中心,提供快捷方便服务,给宾客感受一种顾客至上的享受,提高管理水平,简 化各种复杂操作, 在最短时间内完成酒店业务规范操作, 这样才能令旅客舒适难忘。 因 此,采用全新的计算机管理系统, 将成为提高酒店的管理效率, 改善服务水准的手段之 一。系统从满足客户的需求角度出发, 实现了酒店管理的基本流程。 系统的主要功能包 登录、重置、查看 设置等等。用户入住酒店的时候所要等待的时间就会大大的减少, 操作员能够很方便的 对用户信息的登记和对房间状态的的管理, 从而实现了酒店管理系统高效、 准确的特点。

主要技术和工具:

eclipse+JDK1..8+Navicat +swing +mysql

功能截图:

登录管理:

用户输入账号密码以及验证码进行登录验证

酒店管理信息:

开房:

用户录入开房相关信息、 提交的时候后台会验证数据的数据是否正确、房间是否被占用等情况

退房:

输入身份证信息和房间号进行验证正确后完成退房

房间信息:

房间信息管理管理页面可以查看所有的房间信息、房间标准以及状态等、也可以更具房间类型来查询房间信息。

顾客信息:

关键代码:

主入口:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
public class LoginFrame extends JFrame {
private JPanel contentPane;
private JTextField textField;
private JPasswordField passwordField;
private JTextField textField_1;
private CaptchaUtils cpt;
private BufferedImage image1;
private String code;
private JLabel label_6;
//创建deskservice对象
private DeskService deskService=new DeskServiceImpl();
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
LoginFrame frame = new LoginFrame();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
public LoginFrame() {
setBackground(Color.GREEN);
setTitle("KING'S  LANDING");
setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
setBounds(500, 250, 624, 524);
contentPane = new JPanel(){
protected void paintComponent(Graphics g){
super.paintComponent(g);
ImageIcon images=new ImageIcon("images/624524.jpg");
g.drawImage(images.getImage(),0,0,null);
}
};	
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
setContentPane(contentPane);
JLabel label_1 = new JLabel("\u7528\u6237\u540D");
label_1.setBackground(Color.WHITE);
label_1.setForeground(Color.WHITE);
label_1.setFont(new Font("微软雅黑", Font.PLAIN, 15));
label_1.setIcon(new ImageIcon(LoginFrame.class.getResource("/images/yonghu.png")));
textField = new JTextField();
textField.setBackground(Color.WHITE);
textField.setColumns(10);
label_6=new JLabel();
label_6.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent e) {
cpt=new CaptchaUtils();
//获取画布
image1=cpt.getBuffImg();
//获取随机数
code=cpt.getCode();
ImageIcon icon=new ImageIcon(image1,"jpeg");
label_6.setIcon(icon);
}
});
/**
* 验证码
*/
cpt=new CaptchaUtils();
//获取画布
image1=cpt.getBuffImg();
//获取随机数
code=cpt.getCode();
ImageIcon icon=new ImageIcon(image1,"jpeg");
label_6.setIcon(icon);
JLabel label_2 = new JLabel("\u5BC6\u7801");
label_2.setForeground(Color.WHITE);
label_2.setFont(new Font("微软雅黑", Font.PLAIN, 15));
label_2.setIcon(new ImageIcon(LoginFrame.class.getResource("/images/mima.png")));
JButton button = new JButton("\u767B\u5F55");
//设置按钮的透明
button.setContentAreaFilled(false);
//给按钮上的字设置颜色
button.setForeground(Color.WHITE);
button.setBackground(Color.WHITE);
button.setFont(new Font("微软雅黑", Font.PLAIN, 20));
button.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent e) {
//获取输入的用户名和密码
String name=textField.getText();
char[]array=passwordField.getPassword();
String password=new String(array);
System.out.println("name:"+name);
System.out.println("password:"+password);
//用户输入的验证码
String codeFrame=textField_1.getText();
if(!(code.equalsIgnoreCase((codeFrame)))){
JOptionPane.showMessageDialog(null, "验证码错误,请重新输入!");
return;
}
DeskDaoImpl deskDao=new DeskDaoImpl();
Desk desk=new Desk(name,password);
int code=deskDao.LoginDesk(desk);
//判断是否是管理员登录
if(code==1){
//登录成功
new HomeFrame().setVisible(true);
//符合 则跳转到管理员的后台管理界面
dispose();
return ;
}
else{
boolean bool=deskService.LoginDeskService(desk);
if(!bool){
JOptionPane.showMessageDialog(null, "账号或密码错误,请重新输入!");
return;
}
//登录成功
new HomeFrame().setVisible(true);
dispose();
}
});
}

开房入住:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
@Override
//开房监听事件
public void mouseClicked(MouseEvent e) {
//获取输入的房间号
int houseId=Integer.parseInt(textField.getText());
//获取输入的姓名
String name=p_name.getText();
//获取输入的年龄
int age=Integer.parseInt(p_age.getText());
//获取输入的入住天数
int day=Integer.parseInt(p_day.getText());
//获取输入的身份证号
String id=p_id.getText();
//获取输入的性别
String sex=p_sex.getText();
//获取房间类型
String type=p_type.getText();
//封装到Guest实体中
Guest guest=new Guest();
guest.setG_roomid(houseId);
guest.setG_name(name);
guest.setG_age(age);
guest.setG_days(day);
guest.setG_id(id);
guest.setG_sex(sex);
//封装到Room实体中
Room room=new Room();
room.setR_id(houseId);
//判断年龄是否合理
if(!(age>0&&age<100)){
JOptionPane.showMessageDialog(null, "年龄输入不合理,请重新输入!");
return;
}
//判断性别是否合理
if(!(sex.equals("男")||sex.equals("女"))){
JOptionPane.showMessageDialog(null, "性别只能是男或女,请重新输入!");
return;
}
//入住天数不能小于1
if(!(day>0)){
JOptionPane.showMessageDialog(null, "入住天数不能小于1天,请重新输入!");
return;
}
boolean bool=rs.OpenRoom(room);
if(!bool){
//房间已满则开房失败
JOptionPane.showMessageDialog(null, "该房间已满,请更换房间!");
return;
}
if(!(type.equals("标准房")||type.equals("套房")||type.equals("双人房")||type.equals("豪华套房"))){
JOptionPane.showMessageDialog(null, "输入的信息有误,开房失败!");
return;
}
boolean bool1=gsi.AddGuest(guest);
if(bool1){
//身份证不符合格式也失败
JOptionPane.showMessageDialog(null, "身份证不符合格式,开房失败!");
return;
}
}
});

数据库设计:

用户表:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
CREATE TABLE `NewTable` (
`d_id`  int(11) NOT NULL AUTO_INCREMENT COMMENT '前台id' ,
`d_name`  varchar(10) CHARACTER SET latin1 COLLATE latin1_swedish_ci NULL DEFAULT NULL COMMENT '姓名' ,
`d_password`  varchar(10) CHARACTER SET latin1 COLLATE latin1_swedish_ci NULL DEFAULT NULL COMMENT '密码' ,
INDEX `d_id` (`d_id`) USING BTREE 
)
ENGINE=InnoDB
DEFAULT CHARACTER SET=latin1 COLLATE=latin1_swedish_ci
AUTO_INCREMENT=112
ROW_FORMAT=COMPACT
;

入住信息表:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
CREATE TABLE `NewTable` (
`g_roomid`  int(11) NULL DEFAULT NULL COMMENT '房间id' ,
`g_id`  varchar(10) CHARACTER SET latin1 COLLATE latin1_swedish_ci NULL DEFAULT NULL COMMENT '顾客编号' ,
`g_name`  varchar(100) CHARACTER SET latin1 COLLATE latin1_swedish_ci NULL DEFAULT NULL COMMENT '姓名' ,
`g_sex`  varchar(10) CHARACTER SET latin1 COLLATE latin1_swedish_ci NULL DEFAULT NULL COMMENT '性别' ,
`g_age`  int(11) NULL DEFAULT NULL COMMENT '年龄' ,
`g_days`  int(11) NULL DEFAULT NULL COMMENT '入住天数' ,
`g_time`  datetime NULL DEFAULT NULL COMMENT '入住日期' 
)
ENGINE=InnoDB
DEFAULT CHARACTER SET=latin1 COLLATE=latin1_swedish_ci
ROW_FORMAT=COMPACT
;

房间信息表 :

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
CREATE TABLE `NewTable` (
`r_id`  int(11) NOT NULL AUTO_INCREMENT COMMENT 'roo  id' ,
`r_type`  varchar(100) CHARACTER SET latin1 COLLATE latin1_swedish_ci NULL DEFAULT NULL COMMENT 'room 类型' ,
`r_price`  double NULL DEFAULT NULL COMMENT 'room价格' ,
`r_local`  varchar(100) CHARACTER SET latin1 COLLATE latin1_swedish_ci NULL DEFAULT NULL COMMENT 'room位置' ,
`r_state`  varchar(10) CHARACTER SET latin1 COLLATE latin1_swedish_ci NULL DEFAULT NULL COMMENT 'room状态' ,
INDEX `r_id` (`r_id`) USING BTREE 
)
ENGINE=InnoDB
DEFAULT CHARACTER SET=latin1 COLLATE=latin1_swedish_ci
AUTO_INCREMENT=106
ROW_FORMAT=COMPACT
;

ps:项目来于网络、作者整理优化测试、若有侵权联系作者删除

总结: 通过这次课程设计。我学到了许多令我受益匪浅的知识。感觉java的界面设计和 mfc差不多。只是java没有可视化的界面做起来太累了。其他主要是类和对象的问题。实现起来还是挺简单的。综合了根据中小型星级酒店的实际情况的特点, 虽然用户界面比较一般,但操作使用还是方便。符合酒店管理的基本流程。但由于时间仓促,一些不足之处还很多、比如美化和部分功能设计的都比较简单、但作为学生学习参考以及课程设计还是不错的选择。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年9月24日 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
基于Java swing+mysql+eclipse的【图书管理系统】
①基本数据维护: 图书类别管理 >> 图书类别添加、图书类别维护 图书管理 >> 图书添加、图书维护 ②关于我们
全栈程序员站长
2022/09/06
3.2K0
基于Java swing+mysql+eclipse的【图书管理系统】
基于web的酒店管理系统_新锐酒店管理系统
小型酒店管理系统采用Vue前端框架、SpringBoot框架实现项目前后端分离,并通过Mysql存储数据。本系统实现针对不同用户的登录验证;客户信息、前台管理员以及超级管理员等信息存取;客户信息登记、预约、入住、消费等功能;前台管理员对客户操作的管理;超级管理员对客户以及前台管理员操作进行控制等的功能,系统功能基本实现,测试良好。
全栈程序员站长
2022/11/08
1.6K0
基于web的酒店管理系统_新锐酒店管理系统
java超市仓库管理系统(超市条形码管理系统)
1、商品管理页面布局,添加一个JScrollPanel(内嵌JTable),用来显示所有商品的信息;添加两个JLabel用于显示查询提示信息;添加JTextField用于输入商品商品名称;添加2个JButton,分别用来实现商品查询及添加商品,效果图如图1所示。
全栈程序员站长
2022/07/25
3.7K0
java超市仓库管理系统(超市条形码管理系统)
「旅游信息管理系统」 · Java Swing + MySQL 开发「建议收藏」
码云仓库地址:https://gitee.com/ynavc/tourism_sys
全栈程序员站长
2022/08/11
2.9K0
「旅游信息管理系统」 · Java Swing + MySQL 开发「建议收藏」
宾馆客房管理系统的设计与实现
用户(用户编号,用户姓名,密码,性别(0-男,1-女),Email地址,通讯地址,联系电话,所在部门,用户类型(1-酒店管理员,2-前台服务员)。
程序员小藕
2020/07/28
1.8K0
java图形用户界面
在 Web 应用大行其道的今天,桌面应用似乎显得有些“老派”。但实际上,Java Swing 依然在许多领域发挥着不可替代的作用,比如 企业内部工具、离线管理软件、教学软件 等。本文就从基本的讲起。
找Bug
2025/04/04
2330
java图形用户界面
基于mysql的简单图书管理系统_图书管理系统
因为这两天要做数据库课设但是本人又很菜就做了一个简单的系统,简单的实现了增删改查,数据库用的是mysql,但是数据库的权限功能都没有实现,就是程序比较简陋,新手程序员可以参考一下~
全栈程序员站长
2022/11/04
3K1
基于mysql的简单图书管理系统_图书管理系统
java 学生信息管理系统
在SQL Server 2005数据库上实现数据操作。使用纯面向对象的java语言作为开发语言
全栈程序员站长
2022/09/14
5.9K0
java 学生信息管理系统
Java课设:学生管理系统
查询学生的个人基本信息,查询课程表、选课情况,查询课程的成绩信息。其中课程表及选课信息和成绩信息无法改动,个人基本信息可以添加或者删除。 这是一个比较简单的管理系统,具备简单的添删查功能,适合学习用。 首先设计好数据库,软件为Microsoft SQL server
全栈程序员站长
2022/09/14
1.4K0
数据库系统课程设计 --- 人事管理系统(超详细)
🔥 在看该文章之前,我希望大家能够从头慢慢看下去,而不是直接去复制代码,该 课程设计其实可以学到一些东西的,说不定以后也许能够用上来的
IsLand1314
2024/11/26
4150
数据库系统课程设计 --- 人事管理系统(超详细)
Java课程设计——学生成绩管理系统
在现今信息时代,生活速度的加快,使得人们越来越向信息化、数字化发展。随着学校的规模不断扩大,学生数量急剧增加,有关学生的各种信息量也成倍增长,尤其是学生的考试成绩数据。面对庞大的学生的成绩,需要有学生成绩管理系统来提高学生管理工作的效率。介于此提出了学生成绩管理系统,学生管理系统是计算机对学生档案信息进行管理,具有手工管理无可比拟的优点,如索检迅速、查找方便、可靠性高、存储量大等有点。现在我国的大中专院校的学生成绩管理水平正在不断提高,停留在纸介质基础上的管理手段早已被时代淘汰,因为它浪费了许多的人力和物力。本系统使用 Swing + MySQL + IntelliJ IDEA 开发。为管理人员提供充足的信息和快捷的查询手段,提高学校学籍管理的效率。
全栈程序员站长
2022/09/09
4.3K1
Java课程设计【学生信息管理系统】[通俗易懂]
如何实现一个功能简单的学生信息管理系统,能够对学生信息(包括照片)进行添加、删除、修改和查询等操作。
全栈程序员站长
2022/11/03
5.8K0
Java课程设计【学生信息管理系统】[通俗易懂]
Java课程设计源码——学生信息管理系统 SQL「建议收藏」
2022.6.9 更新 这个课程作业的代码有小伙伴反馈有问题(数据库无法连接等),但博主最近学业不用Java了,暂时没时间看,如果有同学有解决方案,可以在下面评论帮助一下其他同学。实在抱歉啦。
全栈程序员站长
2022/11/04
1.8K1
Java 学生成绩管理系统「建议收藏」
教学管理系统很适合初学者对于所学语言的练习。本文是javaSE 中用文件流写的,这个也可以用数据库写。
全栈程序员站长
2022/09/14
5.5K0
Java 学生成绩管理系统「建议收藏」
数据库课程设计-宿舍管理系统「建议收藏」
最近写完了数据库的课程设计,想把整个源码的编辑过程发出来。程序很简单,需要有很多完善的地方,在这里,我想和大家分享写这个程序的心路历程。
全栈程序员站长
2022/08/31
2.1K0
Java利用多线程和Socket制作GUI界面的在线聊天室
最近刚好是期末,碰上Java实训,借此将之前写的在线聊天室搬出来,加上GUI(Swing),当成实训作品,记录一下这次实训的结果。
HcodeBlogger
2020/07/14
8.8K1
Java利用多线程和Socket制作GUI界面的在线聊天室
Java GUI 图书管理系统设计与开发
源码下载:关注微信公众号【C you again】,回复“Java GUI图书管理系统”下载源码。
C you again
2021/06/09
1.6K0
Java GUI 图书管理系统设计与开发
Java GUI 图书管理系统
此系统使用 java awt 实现。java.awt是一个软件包,包含用于创建用户界面和绘制图形图像的所有分类。在AWT术语中,诸如按钮或滚动条之类的用户界面对象称为组件。Component类是所有 AWT 组件的根。
C you again 的博客
2020/09/15
1.8K0
Java基础-25(04)图形用户界面编程GUI
package cn.itcast.view;(5) import cn.itcast.dao.UserDao; import cn.itcast.dao.impl.UserDaoImpl; import cn.itcast.util.UiUtil; import javax.swing.JOptionPane; public class LoginFrame extends javax.swing.JFrame { /** * Creates new form LoginFrame
Java帮帮
2018/03/16
1.1K0
学生信息管理系统 | Java程序设计
市场需求:主要解决一个管理学生信息的问题,学生学号,班级,成绩之类的问题,旨在为各大高校提供一个开源、自由、免费的简单管理软件。这个问题要求我们提供一个管理学生信息安全的平台,避免学生信息的缺漏。人性化的图形管理界面,加上优美的背景音乐和可爱的开场动画,让管理者可以更加愉悦得对学生信息进行管理。
Jean
2021/09/16
1.3K0
学生信息管理系统 | Java程序设计
推荐阅读
相关推荐
基于Java swing+mysql+eclipse的【图书管理系统】
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验