Java项目:103SSM酒店管理系统

博主主页:Java旅途
简介:分享计算机知识、学习路线、系统源码及教程
文末获取源码

一、项目介绍

酒店管理系统基于Spring+SpringMVC+Mybatis开发,功能简单,可用于毕设或者课程设计。

管理员功能如下:

  • 房间管理
  • 住客入住
  • 住客管理
  • 会员管理
  • 登录、修改密码
  • 数据导出

二、技术框架

  • 后端:Spring,Springmvc,Mybatis
  • 前端:layui

三、安装教程

  1. 用idea打开项目
  2. 在idea中配置jdk环境
  3. 配置maven环境并下载依赖
  4. 配置tomcat8.0
  5. 新建数据库,导入数据库文件
  6. 在jdbc.properties文件中将数据库账号密码改成自己本地的
  7. 启动运行, 管理员账号密码 admin/123456

四、运行截图

image-20230710150317522

image-20230710150352160

image-20230710150412628

image-20230710150632768

五、相关代码

GuestController

package com.hotel.controller;import com.hotel.pojo.Guests;
import com.hotel.service.GuestsServiceImpl;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;import java.util.ArrayList;
import java.util.List;@Controller
@RequestMapping("/guests")
public class GuestsController {@AutowiredGuestsServiceImpl guestsService;@RequestMapping("/add")public ModelAndView add(Guests guests){ModelAndView mv = new ModelAndView();guestsService.addGuests(guests);mv.setViewName("suc_g");return mv;}@RequestMapping("/delete")public String delete(int id){guestsService.deleteGuestsById(id);return "redirect:/guests/list";}@RequestMapping("/list")public ModelAndView list(){ModelAndView mv = new ModelAndView();List<Guests> guestsList=guestsService.queryAllGuests();mv.addObject("list",guestsList);mv.setViewName("guests_list");return mv;}@RequestMapping("/update1")public ModelAndView update1(int id){ModelAndView mv = new ModelAndView();Guests guests = guestsService.queryGuestsById(id);mv.addObject("g",guests);mv.setViewName("guests_update");return mv;}@RequestMapping("/update2")public String update2(Guests g ){guestsService.updateGuestsById(g);return ("redirect:/guests/list");}@RequestMapping("/find")public ModelAndView find(String findByPhone){ModelAndView mv = new ModelAndView();Guests guests = guestsService.queryGuestsByPhone(findByPhone);List<Guests> guestsList=new ArrayList<Guests>();guestsList.add(guests);if (guests==null){guestsList=guestsService.queryAllGuests();mv.addObject("error","未查询出结果");}mv.addObject("list",guestsList);mv.setViewName("guests_list");return mv;}
}

HomeController

package com.hotel.controller;import com.hotel.pojo.Home;
import com.hotel.service.HomeServiceImpl;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;import java.io.*;
import java.util.ArrayList;
import java.util.List;
import java.util.UUID;@Controller
@RequestMapping("/home")public class HomeController {@AutowiredHomeServiceImpl homeService;@RequestMapping("/add")public String add(Home home, Model model) throws IOException{String sqlPath = null;//定义文件保存的本地路径String localPath="F:\\bysj2\\项目整理\\付费毕设\\103SSM的酒店管理系统\\源码\\Hotel_Manage\\src\\main\\webapp\\upload\\";//定义 文件名String filename=null;if(!home.getFile().isEmpty()){//生成uuid作为文件名称String uuid = UUID.randomUUID().toString().replaceAll("-","");//获得文件类型(可以判断如果不是图片,禁止上传)String contentType=home.getFile().getContentType();//获得文件后缀名String suffixName=contentType.substring(contentType.indexOf("/")+1);//得到 文件名filename=uuid+"."+suffixName;System.out.println(filename);//文件保存路径home.getFile().transferTo(new File(localPath+filename));}//把图片的相对路径保存至数据库sqlPath = "/upload/"+filename;System.out.println(sqlPath);home.setImg(sqlPath);homeService.addHome(home);model.addAttribute("home",home);return "home_show";}@RequestMapping("/delete")public String delete(Integer  id){homeService.deleteHomeById(id);return "redirect:/home/list";}@RequestMapping("/list")public ModelAndView list(){ModelAndView mv = new ModelAndView();List<Home> homeList=homeService.queryAllHome();mv.addObject("list",homeList);mv.setViewName("home_list");return mv;}@RequestMapping("/update1")public ModelAndView update1(Integer  id){ModelAndView mv = new ModelAndView();Home home = homeService.queryHomeById(id);mv.addObject("h",home);mv.setViewName("home_update");return mv;}@RequestMapping("/update2")public String update2(Home h)throws IOException{String sqlPath = null;//定义文件保存的本地路径String localPath="F:\\bysj2\\项目整理\\付费毕设\\103SSM的酒店管理系统\\源码\\Hotel_Manage\\src\\main\\webapp\\upload\\";//定义 文件名String filename=null;if(!h.getFile().isEmpty()){//生成uuid作为文件名称String uuid = UUID.randomUUID().toString().replaceAll("-","");//获得文件类型(可以判断如果不是图片,禁止上传)String contentType=h.getFile().getContentType();//获得文件后缀名String suffixName=contentType.substring(contentType.indexOf("/")+1);//得到 文件名filename=uuid+"."+suffixName;System.out.println(filename);//文件保存路径h.getFile().transferTo(new File(localPath+filename));}//把图片的相对路径保存至数据库sqlPath = "/upload/"+filename;System.out.println(sqlPath);h.setImg(sqlPath);homeService.updateHomeById(h);return ("redirect:/home/list");}@RequestMapping("/show")public ModelAndView show(Integer  id){ModelAndView mv = new ModelAndView();Home home=homeService.queryHomeById(id);mv.addObject("home",home);mv.setViewName("home_show");return mv;}@RequestMapping("/find")public ModelAndView find(int findByNum ){ModelAndView mv = new ModelAndView();Home home = homeService.queryHomeByNum(findByNum);List<Home> homeList=new ArrayList<Home>();homeList.add(home);if (home==null){homeList=homeService.queryAllHome();mv.addObject("error","未查询出结果");}mv.addObject("list",homeList);mv.setViewName("home_list");return mv;}@RequestMapping("/type1")public String type1(Integer id,Model model){Home home = homeService.queryHomeById(id);model.addAttribute("h",home);return "H_Type_update";}@RequestMapping("/type2")public String type2(Home home){homeService.updateH_TypeById(home);return "redirect:/home/list";}
}

大家点赞、收藏、关注、评论啦 、👇🏻点开下方卡片👇🏻关注后回复 100

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/312025.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

智慧园区物联综合管理平台之感知连接管理能力简述

物联管理平台感知连接管理主要实现物联传感层设备设施接入通道、 协议解析、 安全保证、 实时数据采集、 控制等管理。 主要包含: 物联南向接入通道管理、 设备智能化协议解析适配(含非设备类物联传感接入)、 物联传感接入注册、 物联传感安全鉴权、 物联感知数据的汇聚/处理…

龙芯3A5000上安装使用QQ

原文链接&#xff1a;龙芯3A5000上安装使用QQ hello&#xff0c;大家好啊&#xff01;今天我要给大家带来的是在龙芯3A5000处理器上安装使用QQ的文章。近期&#xff0c;腾讯发布了最新版本的QQ&#xff0c;值得一提的是&#xff0c;这一版本增加了对Linux系统下龙芯架构的支持。…

算法学习系列(十八):字符串哈希

目录 引言一、字符串哈希概念二、代码实现 引言 这个字符串哈希还是比较厉害的啊&#xff0c;只要是有关字符串的题目&#xff0c;这个字符串哈希都是可以轻松水过&#xff0c;所以说这个还是得好好掌握啊&#xff0c;话不多说&#xff0c;直接开始。 一、字符串哈希概念 这…

AI电商时代开始:阿里能否反杀拼多多

“AI电商时代刚刚开始&#xff0c;对谁都是机会&#xff0c;也是挑战。” 针对阿里员工对于拼多多财报和电商等的讨论&#xff0c;马云在阿里内网罕见地参与了谈论并发言。 阿里巴巴一向雷厉风行&#xff0c;已打响了AI电商的“第一炮”。 根据《晚点LatePost》报道&#xff…

vue3+ts开发干货笔记

总结一下在vue3中ts的使用。当篇记录部分来自于vue官网&#xff0c;记录一下&#xff0c;算是加深印象吧。 纯干笔记&#xff0c;不断补充&#xff0c;想到什么写什么&#xff0c;水平有限&#xff0c;欢迎评论指正&#xff01; 类型标注 props <script setup lang"…

自创题目——贴对联

预估难度 简单 题目描述 小明家最近要挂对联&#xff0c;小明要知道对联怎么挂&#xff0c;以及对联合不合规。如果不合规&#xff0c;输出"扔了吧"&#xff0c;否则输出&#xff1a; 横批 ... ... 输入格式 共三行&#xff1b; 第一行&#xf…

门控循环单元(GRU)-多输入回归预测

目录 一、程序及算法内容介绍&#xff1a; 基本内容&#xff1a; 亮点与优势&#xff1a; 二、实际运行效果&#xff1a; 三、部分程序&#xff1a; 四、全部代码数据分享&#xff1a; 一、程序及算法内容介绍&#xff1a; 基本内容&#xff1a; 本代码基于Matlab平台编译…

告别 2023,迎接 2024

告别 2023&#xff0c;迎接 2024 这是 2023 年的最后一篇博客 时间过得可真快啊&#xff0c;仿佛 2023 才刚刚开始&#xff0c;一晃眼&#xff0c;便又接近尾声了 逝者如斯夫&#xff0c;不舍昼夜 现在我一个人坐在实验室中&#xff0c;回想着 2023 发生的种种事情&#xf…

elasticsearch系列九:异地容灾-CCR跨集群复制

概述 起初只在部分业务中采用es存储数据&#xff0c;在主中心搭建了个集群&#xff0c;随着es在我们系统中的地位越来越重要&#xff0c;数据也越来越多&#xff0c;针对它的安全性问题也越发重要&#xff0c;那如何对es做异地容灾呢&#xff1f; 今天咱们就一起看下官方提供的…

《末世少女/Zombie Girl》v1.0.0|容量13.6GB|官方简体介绍说明

《末世少女/Zombie Girl》v1.0.0|容量13.6GB|官方简体介绍说明 末世少女/Zombie Girl 一、游戏简介 《末世少女/Zombie Girl》是一款独特的第三人称射击游戏&#xff0c;以其惊心动魄的游戏体验、富有挑战性的丧尸战斗和深入的剧情探索而受到玩家们的热爱。这款游戏带领玩家进…

JavaScript元素根据父级元素宽高缩放

/*** 等比缩放* param wrap 外部容器* param container 待缩放的容器* returns {{width: number, height: number}}* 返回值&#xff1a;width:宽度, height:高度*/aspectRatio(wrap: any, container: any) {// w h / ratio, h w * ratioconst wrapW wrap.width;const wrapH…

Qt基础之四十五:Qt国际化(I18N)

国际化的英文表述为Internationalization,通常简写为I18N(首尾字母加中间的字符数),这种奇葩的缩写方式,让我想起了NBA球星“字母哥”。 下面看下Qt实现的动态语言切换效果。 一.效果 二.源码 QHSettingDialog.h #ifndef QHSETTINGDIALOG_H #define QHSETTINGDIALOG_H#…