java SSM酒店客房管理系统myeclipse开发mysql数据库springMVC模式java编程计算机网页设计

一、源码特点
    java SSM酒店客房管理系统是一套完善的web设计系统(系统采用SSM框架进行设计开发,spring+springMVC+mybatis),对理解JSP java编程开发语言有帮助,系统具有完整的源代
码和数据库,系统主要采用B/S模式开发。开发环境为TOMCAT7.0,Myeclipse8.5开发,数据库为Mysql5.0,使用java语言开发。

ssm酒店客房管理系统


二、功能介绍
(1)用户管理:对用户信息进行添加、删除、修改和查看
(2)客房类型管理:对客房类型信息进行添加、删除、修改和查看
(3)客房管理:对客房信息进行添加、删除、修改和查看
(4)公告管理:对公告信息进行添加、删除、修改和查看
(5)订单管理:对订单信息进行添加、删除、修改和查看
(6)用户登录、个人信息修改

数据库设计 

[表yonghu] 用户列属性表格

序号字段名称数据类型长度主键描述
1yhidINTEGER11用户编号
2yhmVARCHAR40用户名
3mmVARCHAR40密码
4xmVARCHAR40姓名
5qxVARCHAR40权限
6dhVARCHAR40电话
7dzVARCHAR40地址
8sfzhVARCHAR40身份证号

[表kflx] 客房类型列属性表格

序号字段名称数据类型长度主键描述
1kflxidINTEGER11客房类型编号
2lxVARCHAR40类型

[表kefang] 客房列属性表格

序号字段名称数据类型长度主键描述
1kfidINTEGER11客房编号
2kfVARCHAR40客房
3lxVARCHAR40类型
4fjhVARCHAR40房间号
5msVARCHAR40描述
6ztVARCHAR40状态
7tpVARCHAR40图片
8jgVARCHAR40价格

[表gonggao] 公告列属性表格

序号字段名称数据类型长度主键描述
1ggidINTEGER11公告编号
2btVARCHAR40标题
3nrVARCHAR40内容
4sjVARCHAR40时间

[表dingdan] 订单列属性表格

序号字段名称数据类型长度主键描述
1ddidINTEGER11订单编号
2ddbtVARCHAR40订单标题
3kfVARCHAR40客房
4yhVARCHAR40用户
5rzsjVARCHAR40入住时间
6jssjVARCHAR40结算时间
7tsVARCHAR40天数
8jgVARCHAR40价格
9jsjgVARCHAR40结算价格
10ztVARCHAR40状态
11dhVARCHAR40电话
12dzVARCHAR40地址
13xmVARCHAR40姓名

控制层代码设计

@RequestMapping(value="/add")public String add(kefang kefang,HttpServletRequest request){Map<String,Object> map= new HashMap<String,Object>();//String name=(String)request.getParameter("name");map.put("kfid", kefang.getKfid());//客房编号map.put("kf", kefang.getKf());//客房map.put("lx", kefang.getLx());//类型map.put("fjh", kefang.getFjh());//房间号map.put("ms", kefang.getMs());//描述map.put("zt", kefang.getZt());//状态map.put("tp", kefang.getTp());//图片map.put("jg", kefang.getJg());//价格String kfid=(String)kefang.getKfid();//客房编号String kf=(String)kefang.getKf();//客房String lx=(String)kefang.getLx();//类型String fjh=(String)kefang.getFjh();//房间号String ms=(String)kefang.getMs();//描述String zt=(String)kefang.getZt();//状态String tp=(String)kefang.getTp();//图片String jg=(String)kefang.getJg();//价格String sql="select count(1) as num from kefang where fjh='"+fjh+"'";ResultSet rs=null;DBO db=new DBO();int num=0;try{rs=db.query(sql);if(rs.next()){num=rs.getInt("num");}if(num>0){request.setAttribute("msg", "<script>alert('添加失败、房间号重复');</script>");}else{kefangdao.save(map);request.setAttribute("msg", "<script>alert('添加成功');</script>");}}catch(Exception e){e.printStackTrace();}System.out.println("addok");return "kefang/kefangadd";}/**删除 * */@RequestMapping(value="/del")public String  del(Integer id,HttpServletRequest request,Map<String,Object> map){//	Map<String,Object> map= new HashMap<String,Object>();String a=(String)request.getParameter("keyid");id=Integer.parseInt(a);request.setAttribute("msg", "<script>alert('删除成功');</script>");kefangdao.del(id);return selectall(null,map,request);}/*** 修改kefang信息*/@RequestMapping(value="/update")public String update(kefang kefang,HttpServletRequest request,Map<String,Object> map1){Map<String,Object> map= new HashMap<String,Object>();map.put("kfid", kefang.getKfid());//客房编号map.put("kf", kefang.getKf());//客房map.put("lx", kefang.getLx());//类型map.put("fjh", kefang.getFjh());//房间号map.put("ms", kefang.getMs());//描述map.put("zt", kefang.getZt());//状态map.put("tp", kefang.getTp());//图片map.put("jg", kefang.getJg());//价格String kfid=(String)kefang.getKfid();//客房编号String kf=(String)kefang.getKf();//客房String lx=(String)kefang.getLx();//类型String fjh=(String)kefang.getFjh();//房间号String ms=(String)kefang.getMs();//描述String zt=(String)kefang.getZt();//状态String tp=(String)kefang.getTp();//图片String jg=(String)kefang.getJg();//价格request.setAttribute("msg", "<script>alert('修改成功');</script>");kefangdao.update(map);return selectall(null,map1,request);}

持久层

public void save(Map<String, Object> map) {sqlSession.insert("com.kefang.insertkefang", map);}/*** 删除aa* @param id*/public void del(Integer id) {sqlSession.delete("com.kefang.delkefang", id);}/*** 修改kefang信息* @param map*/public void update(Map<String, Object> map) {sqlSession.update("com.kefang.updatekefang", map);}/*** 查询kefang信息* @param id* @return */public List<Map<String, Object>> select(Integer id) {return sqlSession.selectList("com.kefang.selectkefang", id) ; }

mybatis 配置

<insert id="insertkefang"  parameterType="java.util.Map">insert  into  kefang(kf,lx,fjh,ms,zt,tp,jg)  values(#{kf},#{lx},#{fjh},#{ms},#{zt},#{tp},#{jg})
</insert><delete id="delkefang" parameterType="int">delete  from  kefang where kfid=#{kfid}
</delete><update id="updatekefang" parameterType="java.util.Map">
update kefang set kf=#{kf},lx=#{lx},fjh=#{fjh},ms=#{ms},zt=#{zt},tp=#{tp},jg=#{jg} where kfid=#{kfid}
</update><!--  查询返回的是 list<map> -->
<!-- resultType 就是返回查询结果的类型,而如果是resultMap=则返回的就是你定义的javabean  -->
<select  id="selectkefang"  parameterType="int" resultType="java.util.Map">select  * from kefang where kfid=#{kfid}
</select><!-- resultType 就是返回查询结果的类型,而如果是resultMap=则返回的就是你定义的javabean  -->
<select  id="selectall"  parameterType="java.util.Map" resultType="java.util.Map">select  * from kefang where 1=1
<if test=" null != kf and kf!=''" >and kf = #{kf}
</if>
<if test=" null != lx and lx!=''" >and lx = #{lx}
</if>
<if test=" null != fjh and fjh!=''" >and fjh = #{fjh}
</if>
<if test=" null != ms and ms!=''" >and ms = #{ms}
</if>
<if test=" null != zt and zt!=''" >and zt = #{zt}
</if>
<if test=" null != tp and tp!=''" >and tp = #{tp}
</if>
<if test=" null != jg and jg!=''" >and jg = #{jg}
</if></select>


三、注意事项
    1、管理员账号:admin 密码:admin 数据库配置文件datasource.properties
     2、开发环境为TOMCAT7.0,Myeclipse8.5开发,数据库为Mysql5.0,使用java语言开发。
    3、数据库文件名是jspssmjdgl.sql,系统名称ssmjdgl
    4、系统首页地址:http://127.0.0.1:8080/ssmjdgl/login.jsp

四 系统实现


 源码获取 下方联系卡片↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
 

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

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

相关文章

在开发微信小程序的时候,报错navigateBack:fail cannot navigate back at firstpage

这个错误的意思是&#xff1a;在这个页面已经是第一个页面了&#xff0c;没办法再返回了 报错原因 这个错误原因其实也简单&#xff0c;就是在跳转的时候使用了wx.redirectTo()&#xff0c;使用wx.redirectTo()相当于重定向&#xff0c;不算是从上一个页面跳转过来的&#xf…

com.sun.org.apache.xerces.internal.impl.dv.util.Base64

com.sun.org.apache.xerces.internal.impl.dv.util.Base64 Access restriction: The type Base64 is not API (restriction on required library D:\Java\jdk1.8.0_341\jre\lib\rt.jar) Maven Update Project 虽然没错误了&#xff0c;但是有警告&#xff0c;好奇&#xff1f;…

python进度条

分享一个进度条python库 瞬间觉得很酷 :)) 它的名字叫tqdm 效果图&#xff1a; 代码&#xff1a; import time from tqdm import tqdmfor i in tqdm(range(100), desc"Loading", unit"kb"):time.sleep(0.1)

中通单号查询,中通快递物流查询,对需要的单号进行备注

批量查询中通快递单号的物流信息&#xff0c;对需要的单号进行备注。 所需工具&#xff1a; 一个【快递批量查询高手】软件 中通快递单号若干 操作步骤&#xff1a; 步骤1&#xff1a;运行【快递批量查询高手】软件&#xff0c;并登录 步骤2&#xff1a;点击主界面左上角的“…

系列一、Linux中安装MySQL

一、Linux中安装MySQL 1.1、下载MySQL安装包 官网&#xff1a;https://dev.mysql.com/downloads/file/?id523327 我分享的&#xff1a; 链接&#xff1a;https://pan.baidu.com/s/188_9RnBYlWVzFb_UJH5aaQ?pwdyyds 提取码&#xff1a;yyds 1.2、上传至/opt目录 & 解压…

Linux Conda 安装 Jupyter

在Linux服务器Conda环境上安装Jupyter过程中遇到了无数的报错&#xff0c;特此记录。 目录 步骤一&#xff1a;安装Anaconda3 步骤二&#xff1a;配置Conda源 步骤三&#xff1a;安装Jupyter 安装报错&#xff1a;simplejson.errors.JSONDecodeError 安装报错&#xff1a;…

什么是第一方数据,如何使用它?

多年来&#xff0c;第一方数据一直是营销行业的话题。 随着用户数据隐私法律法规的不断收紧&#xff0c;营销人员必须接受一个几乎没有数据 cookie 的世界。 我们必须在如何合法和合乎道德地获取客户信息方面更具创造性。 不确定什么是第一方数据&#xff1f;或者不太确定从…

[python][plotly]利用plotly绘制散点图

import plotly.express as px import pandas as pd# 创建示例数据 data pd.DataFrame({x: [1, 2, 3, 4, 5],y: [5, 4, 3, 2, 1] })# 使用 plotly.express 绘制散点图 fig px.scatter(data, xx, yy, titleScatter plot) fig.show() 结果&#xff1a;

【DataSophon】大数据管理平台DataSophon-1.2.1基本使用

&#x1f984; 个人主页——&#x1f390;开着拖拉机回家_Linux,大数据运维-CSDN博客 &#x1f390;✨&#x1f341; &#x1fa81;&#x1f341;&#x1fa81;&#x1f341;&#x1fa81;&#x1f341;&#x1fa81;&#x1f341; &#x1fa81;&#x1f341;&#x1fa81;&am…

C#上位机与欧姆龙PLC的通信01----项目背景

最近&#xff0c;【西门庆】作为项目经理负责一个70万的北京项目&#xff0c;需要在工控系统集成软件开发中和欧 姆龙PLC对接&#xff0c;考虑项目现场情况优先想到了采用FinsTCP通讯协议&#xff0c;接下来就是记录如何一步步实现这些通讯过程的&#xff0c;希望给电气工程师&…

塑料检查井产品设计合理、座盖联合周密,为安装维护带来方便

塑料检查井作为一种新型的检查井材料&#xff0c;其产品设计合理、座盖联合周密&#xff0c;为安装维护带来了极大的方便。 首先&#xff0c;塑料检查井的设计合理&#xff0c;能够满足各种工程需求。其结构紧凑、尺寸精确&#xff0c;可以方便地与管道和其他设施进行连接和安…

【IEEE】2区SCI,接收领域广,稳定检索47年!

重点 本期推荐 区块链是一种新兴技术&#xff0c;很多行业和领域都以创新方式采用了此技术&#xff0c;如能源、金融、媒体和娱乐以及零售等。此外&#xff0c;区块链作为一门新兴的交叉学科, 涉及密码学应用&#xff08;加密&#xff0c;隐私等&#xff09;&#xff0c; 分布式…

Python基础入门第四节,第五节课笔记

第四节 第一个条件语句 if 条件: 条件成立执行的代码1 条件成立执行的代码2 ...... else: 条件不成立执行的代码1 条件不成立执行的代码2 …… 代码如下: 身高 float(input("请输入您的身高(米):")) if 身高 >1.3:print(f您的身高是{身高},已经超过1.3米,您需…

工业交换机的组网方式有哪些?

工业交换机也称作工业以太网交换机&#xff0c;即应用于工业控制领域的以太网交换机设备&#xff0c;由于采用的网络标准&#xff0c;其开放性好、应用广泛以及价格低廉、使用的是透明而统一的TCP/IP协议&#xff0c;以太网已经成为工业控制领域的主要通信标准。 工业交换机的…

【Java代码审计】文件上传篇

【Java代码审计】文件上传篇 1.Java常见文件上传方式2.文件上传漏洞修复 1.Java常见文件上传方式 1、通过文件流的方式上传 public static void uploadFile(String targetURL, String filePath) throws IOException {File file new File(filePath);FileInputStream fileInpu…

太阳能电池特性测试用太阳光模拟器24H光源

概述 太阳能模拟器是一种在室内模拟太阳光的设备&#xff0c;能够较为准确地模拟太阳辐射的准直性、均匀性和光谱特性。它的基本原理是利用人工光源模拟太阳光辐射&#xff0c;以克服太阳光辐射受环境、时间和气候等因素影响&#xff0c;并且总辐照度不能调节等缺点&#xff0c…

继续看回溯问题

关卡名 继续看回溯问题 我会了✔️ 内容 1.复习递归和N叉树&#xff0c;理解相关代码是如何实现的 ✔️ 2.理解回溯到底怎么回事 ✔️ 3.掌握如何使用回溯来解决二叉树的路径问题 ✔️ 1 复原IP地址 这也是一个经典的分割类型的回溯问题。LeetCode93.有效IP地址正好由四…

sourcetree使用详解

介绍 SourceTree 是 Windows 和Mac OS X 下免费的 Git 和 Hg 客户端管理工具&#xff0c;同时也是Mn版本控制系统工具。支持创建、克隆、提交、push、pull 和合并等操作。——百度百科 是一款比较好用的图形化GUI的git、hg管理工具。还有一些其他的可视化代码管理工具&#x…

vivado约束方法7

输出延迟 与“输入延迟”步骤类似&#xff0c;“定时约束”向导分析所有输出的路径端口&#xff0c;以识别其在设计内部的源时钟及其活动边缘。模板选择规则与输入延迟中描述的相同。下图显示了几个由向导提出并由用户部分编辑的输出约束。 对于每个约束&#xff0c;可以编辑三…

zync spi flash 频率配置

spi flash的频率配置 代码流程及最终的频率值。 驱动目录 基于4.14.55 内核&#xff0c; \drivers\spi\spi-dw-fmsh.c (控制器) \drivers\spi\spi-dw.c \drivers\mtd\devices\m25p80.c &#xff08;设备&#xff09; \drivers\spi\spi.c spi dts配置说明 spi0: spie000100…