1961 Springboot自习室预约系统idea开发mysql数据库web结构java编程计算机网页源码maven项目

一、源码特点
  springboot 自习室预约管理系统是一套完善的信息系统,结合springboot框架和bootstrap完成本系统,对理解JSP java编程开发语言有帮助系统采用springboot框架(MVC模式开发),系统具有完整的源代码和数据库,系统主要采用B/S模式开发。

springboot 校园自习室预约系统


前段主要技术 bootstrap.css jquery
后端主要技术 springboot
数据库 mysql
开发工具 IDEA  JDK1.8 TOMCAT 8.5

二、功能介绍
自习室预约管理系统要满足以下几个方面的功能需求:
(1)用户管理:对用户信息进行添加、删除、修改和查看
(2)公告管理:对公告信息进行添加、删除、修改和查看
(3)教室管理:对教室信息进行添加、删除、修改和查看
(4)座位管理:对座位信息进行添加、删除、修改和查看、批量添加
(5)教室使用管理:对教室使用信息进行添加、删除、修改和查看,按照日期批量添加
(6)预约教室座位管理:对预约教室座位信息进行添加、删除、修改和查看
(7)时间段管理:对时间段信息进行添加、删除、修改和查看 
(8)预约管理:对预约信息进行添加、删除、修改和查看 图形化统计等
(9)预约规则管理:对预约规则信息进行添加、删除、修改和查看
(10)个人信息修改

数据库设计 

CREATE TABLE `yonghu` (
`yhid` int(11) NOT NULL auto_increment,
`yhm` VARCHAR(40) default NULL COMMENT '用户名',
`mm` VARCHAR(40) default NULL COMMENT '密码',
`xm` VARCHAR(40) default NULL COMMENT '姓名',
`qx` VARCHAR(40) default NULL COMMENT '权限',
`sfz` VARCHAR(40) default NULL COMMENT '身份证',
`sjh` VARCHAR(40) default NULL COMMENT '手机号',
`zcsj` VARCHAR(40) default NULL COMMENT '注册时间',  PRIMARY KEY  (`yhid`)
) ENGINE=InnoDB DEFAULT CHARSET=gb2312;
CREATE TABLE `gonggao` (
`ggid` int(11) NOT NULL auto_increment,
`bt` VARCHAR(40) default NULL COMMENT '标题',
`nr` VARCHAR(40) default NULL COMMENT '内容',
`fbsj` VARCHAR(40) default NULL COMMENT '发布时间',  PRIMARY KEY  (`ggid`)
) ENGINE=InnoDB DEFAULT CHARSET=gb2312;
CREATE TABLE `jiaoshi` (
`jsid` int(11) NOT NULL auto_increment,
`jsmc` VARCHAR(40) default NULL COMMENT '教室名称',
`wz` VARCHAR(40) default NULL COMMENT '位置',
`rl` VARCHAR(40) default NULL COMMENT '容量',
`ss` VARCHAR(40) default NULL COMMENT '设施',
`bz` VARCHAR(40) default NULL COMMENT '备注',  PRIMARY KEY  (`jsid`)
) ENGINE=InnoDB DEFAULT CHARSET=gb2312;
CREATE TABLE `zuowei` (
`zwid` int(11) NOT NULL auto_increment,
`zwh` VARCHAR(40) default NULL COMMENT '座位号',
`js` VARCHAR(40) default NULL COMMENT '教室',  PRIMARY KEY  (`zwid`)
) ENGINE=InnoDB DEFAULT CHARSET=gb2312;
CREATE TABLE `jssy` (
`jssyid` int(11) NOT NULL auto_increment,
`yyjs` VARCHAR(40) default NULL COMMENT '预约教室',
`jsmc` VARCHAR(40) default NULL COMMENT '教室名称',
`rq` VARCHAR(40) default NULL COMMENT '日期',
`xyry` VARCHAR(40) default NULL COMMENT '现有容易',
`yyrl` VARCHAR(40) default NULL COMMENT '已用容量',
`zt` VARCHAR(40) default NULL COMMENT '状态',
`scsj` VARCHAR(40) default NULL COMMENT '生成时间',  PRIMARY KEY  (`jssyid`)
) ENGINE=InnoDB DEFAULT CHARSET=gb2312;
CREATE TABLE `yyjszw` (
`yyjszwid` int(11) NOT NULL auto_increment,
`yyjs` VARCHAR(40) default NULL COMMENT '预约教室',
`zw` VARCHAR(40) default NULL COMMENT '座位',
`zt` VARCHAR(40) default NULL COMMENT '状态',
`yh` VARCHAR(40) default NULL COMMENT '用户',  PRIMARY KEY  (`yyjszwid`)
) ENGINE=InnoDB DEFAULT CHARSET=gb2312;
CREATE TABLE `sjd` (
`sjdid` int(11) NOT NULL auto_increment,
`sjd` VARCHAR(40) default NULL COMMENT '时间段',
`sm` VARCHAR(40) default NULL COMMENT '说明',  PRIMARY KEY  (`sjdid`)
) ENGINE=InnoDB DEFAULT CHARSET=gb2312;

代码设计

 /**教室使用列表 查询jssy
	 * 
	 */
    @RequestMapping(value = "listpage")
    public ModelAndView  listpage(HttpServletRequest request, HttpServletResponse response)  {
        try {
            request.setCharacterEncoding("gb2312");//强制字符集
        }catch(Exception e){
            e.printStackTrace();
        }
      Map<String,Object> map= new HashMap<String,Object>();

        ModelAndView mav = new ModelAndView();//初始化
        mav.setViewName("jssy/jssylist");//跳转jsp 页面
	String sql="";
        String jssyid=(String)request.getParameter("jssyid");
        if(jssyid!=null&&!jssyid.equals("")){
           // System.out.println(jssyid);
          	sql+=" and jssyid like '%"+jssyid+"%'";//符合条件 拼接sql 教室使用编号

        }
        String yyjs=(String)request.getParameter("yyjs");
        if(yyjs!=null&&!yyjs.equals("")){
           // System.out.println(yyjs);
          	sql+=" and yyjs like '%"+yyjs+"%'";//符合条件 拼接sql 预约教室

        }
        String jsmc=(String)request.getParameter("jsmc");
        if(jsmc!=null&&!jsmc.equals("")){
           // System.out.println(jsmc);
          	sql+=" and jsmc like '%"+jsmc+"%'";//符合条件 拼接sql 教室名称

        }
        String rq=(String)request.getParameter("rq");
        if(rq!=null&&!rq.equals("")){
           // System.out.println(rq);
          	sql+=" and rq like '%"+rq+"%'";//符合条件 拼接sql 日期

        }
        String xyry=(String)request.getParameter("xyry");
        if(xyry!=null&&!xyry.equals("")){
           // System.out.println(xyry);
          	sql+=" and xyry like '%"+xyry+"%'";//符合条件 拼接sql 现有容易

        }
        String yyrl=(String)request.getParameter("yyrl");
        if(yyrl!=null&&!yyrl.equals("")){
           // System.out.println(yyrl);
          	sql+=" and yyrl like '%"+yyrl+"%'";//符合条件 拼接sql 已用容量

        }
        String zt=(String)request.getParameter("zt");
        if(zt!=null&&!zt.equals("")){
           // System.out.println(zt);
          	sql+=" and zt like '%"+zt+"%'";//符合条件 拼接sql 状态

        }
        String scsj=(String)request.getParameter("scsj");
        if(scsj!=null&&!scsj.equals("")){
           // System.out.println(scsj);
          	sql+=" and scsj like '%"+scsj+"%'";//符合条件 拼接sql 生成时间

        }


        List list=null;
	try{
	list=jssydao.querylist(sql);//查询jssy 表数据返回 list对象
	}catch(Exception e){
            e.printStackTrace();;
        }

        mav.addObject("list",list);//赋值变量
       

        return mav;
    }

	 /**教室使用添加方法 对表 jssy 进行添加
	 * 
	 */
    @RequestMapping(value = "add")
    public ModelAndView  add(HttpServletRequest request, HttpServletResponse response){

        try {
            request.setCharacterEncoding("gb2312");//强制字符集
        }catch(Exception e){
            e.printStackTrace();
        }
        ModelAndView mav = new ModelAndView();//初始化
        mav.setViewName("jssy/jssyadd");
        jssy bean=new jssy();
	
        String jssyid=(String)request.getParameter("jssyid");//教室使用编号 变量
        bean.setJssyid(jssyid);//赋值封装

        String yyjs=(String)request.getParameter("yyjs");//预约教室 变量
        bean.setYyjs(yyjs);//赋值封装

        String jsmc=(String)request.getParameter("jsmc");//教室名称 变量
        bean.setJsmc(jsmc);//赋值封装

        String ksrq=(String)request.getParameter("ksrq");//日期 变量

        String jsrq=(String)request.getParameter("jsrq");//日期 变量


        String xyry=(String)request.getParameter("xyry");//现有容易 变量
        bean.setXyry(xyry);//赋值封装

        String yyrl=(String)request.getParameter("yyrl");//已用容量 变量
        bean.setYyrl(yyrl);//赋值封装

        String zt=(String)request.getParameter("zt");//状态 变量
        bean.setZt(zt);//赋值封装

        String scsj=(String)request.getParameter("scsj");//生成时间 变量
        bean.setScsj(scsj);//赋值封装



 DBO db=new DBO();
 String sql="";
 ResultSet rs=null;
 String rl="";
String rq="";
	try{
        sql="select * from jiaoshi where jsmc='"+jsmc+"'";
        rs=db.query(sql);
        if(rs.next()){
            rl=rs.getString("rl");
        }

        List li= StaticMethod.getDayList(ksrq,jsrq);
        for (int i=0;i<li.size();i++){
            rq=li.get(i).toString();
            db.open();
            sql="delete from jssy where jsmc='"+jsmc+"' and rq='"+rq+"' ";
            db.update(sql);

                bean.setRq(rq);
                bean.setYyrl(rl);
                bean.setXyry(rl);
                bean.setYyjs(rq+"_"+jsmc);
            jssydao.add(bean);//执行 添加 jssy 添加操作



                sql="delete from yyjszw where yyjs='"+rq+"_"+jsmc+"'";
                db.update(sql);
                db.open();
                sql="select * from zuowei where js='"+jsmc+"' ";
                rs=db.query(sql);
                while(rs.next()){

                    sql="insert into yyjszw(yyjs,zw,zt,yh) values('"+rq+"_"+jsmc+"','"+rs.getString("zwh")+"','正常','')";
                    db.open();
                    db.update(sql);

                }


        }



	 }catch(Exception e){
            e.printStackTrace();;
        }
	

       

        request.setAttribute("msg", "<script>alert('添加成功');</script>");//操作提示

        return addpage(request,response);

    }

三、注意事项
1、管理员账号:admin密码:admin 数据库配置文件DBO.java
2、开发环境为IDEA开发,数据库为mysql,使用java语言开发。
3、数据库文件名是javayuyue.sql 系统名称yuyue
4、地址:http://127.0.0.1:8080/login.jsp

四 系统实现

需要源码 其他的定制服务  下方联系卡片↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓ 或者私信作者

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

鸿蒙开发系统基础能力:【Timer (定时器)】

定时器 setTimeout setTimeout(handler[,delay[,…args]]): number 设置一个定时器&#xff0c;该定时器在定时器到期后执行一个函数。 参数 参数名类型必填说明handlerFunction是定时器到期后执行函数。delaynumber否延迟的毫秒数&#xff0c;函数的调用会在该延迟之后发生…

谷歌SEO在外贸推广中的应用效果如何?

谷歌SEO在外贸推广中非常有效。通过优化网站&#xff0c;可以提高在搜索结果中的排名&#xff0c;这意味着更多的潜在客户会看到你的产品和服务。 一个高排名的网站能带来更多自然流量&#xff0c;不需要花费广告费用。这种流量通常质量较高&#xff0c;因为用户是主动搜索相关…

Java 流式编程的7个技巧,必学!

作为Java开发者&#xff0c;我们还没有完全掌握Java Streams这个多功能工具的威力。在这里&#xff0c;你将发现一些有价值的技巧&#xff0c;可以作为参考并应用到你的下一个项目中。 Java Streams在很多年前就被引入了&#xff0c;但作为Java开发者&#xff0c;我们还没有完…

2.4G特技翻斗车方案定制

遥控翻斗车不仅能够提供基本的前进、后退、左转和右转功能&#xff0c;还设计有多种特技动作和互动模式&#xff0c;以增加娱乐性和互动性。 1、无线遥控&#xff1a;玩具翻斗车一般通过2.4G无线遥控器进行控制&#xff0c;允许操作者在一定距离内远程操控车辆。 2、炫彩灯光…

安装VEX外部编辑器

Houdini20配置VEX外部编辑器方法_哔哩哔哩_bilibili 下载并安装Visual Studio Code软件&#xff1a;Download Visual Studio Code - Mac, Linux, Windows 在Visual Studio Code软件内&#xff0c;安装相关插件&#xff0c;如&#xff1a; 中文汉化插件vex插件 安装Houdini Expr…

JavaScript中的Date对象,以及常用格式化日期的方法封装

一、Date对象 二、操作Date对象 1、创建Date对象 &#xff08;1&#xff09;常用方法 &#xff08;2&#xff09;使用示例 2、获取日期 &#xff08;1&#xff09;常用方法 &#xff08;2&#xff09;使用示例 3、设置日期 &#xff08;1&#xff09;常用方法 &…

LSTM时间序列基础学习

时间序列 时间序列可以是一维&#xff0c;二维&#xff0c;三维甚至更高维度的数据&#xff0c;在深度学习的世界中常见的是三维时间序列&#xff0c;这三个维度分别是&#xff08;batch_size,time_step,input_dimensions&#xff09;。 其中time_step是时间步&#xff0c;它…

智慧校园-就业管理系统总体概述

在当代教育与信息技术深度融合的背景下&#xff0c;智慧校园就业管理系统成为了连接学生、高校与企业的重要纽带&#xff0c;它以创新的服务理念和技术手段&#xff0c;重塑了职业规划与就业服务的传统模式。这一系统致力于为即将步入社会的学生们提供全面、个性化的支持&#…

C++系统编程篇——Linux第一个小程序--进度条

&#xff08;1&#xff09;先引入一个概念&#xff1a;行缓冲区 \r和\n \r表示回车 \n表示回车并换行 ①代码一 #include<stdio.h> #include<unistd.h> int main()…

MSA 助力实验室测量更稳定、更准确

在汽车制造、石油化工、电子制造等行业,产品的质量和性能需要通过准确的测量来保证。但是由于测量设备的误差、操作人员的主观影响以及环境条件的干扰等因素会导致测量系统出现各种问题,且这些问题会导致测量结果不准确,从而影响产品质量。 随着工业信息化的迅速发展, 各行业对…

【漏洞复现】FastAdmin——任意文件读取漏洞

声明&#xff1a;本文档或演示材料仅供教育和教学目的使用&#xff0c;任何个人或组织使用本文档中的信息进行非法活动&#xff0c;均与本文档的作者或发布者无关。 文章目录 漏洞描述漏洞复现测试工具 漏洞描述 FastAdmin是一个免费开源的后台管理框架&#xff0c;其lang存在…

基于C++实现的EventLoop与事件驱动编程

一&#xff0c;概念介绍 事件驱动编程&#xff08;Event-Driven&#xff09;是一种编码范式&#xff0c;常被应用在图形用户界面&#xff0c;应用程序&#xff0c;服务器开发等场景。 采用事件驱动编程的代码中&#xff0c;通常要有事件循环&#xff0c;侦听事件&#xff0c;…

leetcode-19-回溯

引自代码随想录 [77]组合 给定两个整数 n 和 k&#xff0c;返回 1 ... n 中所有可能的 k 个数的组合。 示例: 输入: n 4, k 2 输出: [ [2,4], [3,4], [2,3], [1,2], [1,3], [1,4]] 1、大致逻辑 k为树的深度&#xff0c;到叶子节点的路径即为一个结果 开始索引保证不重复…

GuiLite C语言实现版本

简介 本项目是idea4good/GuiLite的C语言实现版本&#xff0c;基于2024-06-20节点的版本&#xff08;提交ID&#xff1a;e9c4b57&#xff09;。 本项目仓库&#xff1a;GuiLite_C 需求说明 作为芯片从业人员&#xff0c;国产芯片普遍资源有限&#xff08;ROM和RAM比较少-都是…

英国国王座驾车标的逆向工程

多功能设计和制造解决方案为独特的挑战提供了引人注目的优势。Impossible Creations是一家来自英国的定制扫描、设计和建模公司&#xff0c;专门帮助客户完成无限制得创作任务。在他们最近接到的一个项目中&#xff0c;为了修复象征英国国王座驾的大英帝国吉祥物&#xff0c;Im…

【Docker】docker 替换宿主与容器的映射端口和文件路径

every blog every motto: You can do more than you think. https://blog.csdn.net/weixin_39190382?typeblog 0. 前言 docker 替换宿主与容器的映射端口和文件夹 1. 正文 1.1 关闭docker 服务 systemctl stop docker1.2 找到容器的配置文件 cd /var/lib/docker/contain…

Web渗透:文件包含漏洞(part.1)

"文件包含漏洞"&#xff08;File Inclusion Vulnerability&#xff09;是一种常见的Web应用程序漏洞&#xff0c;攻击者可以通过这个漏洞在目标系统上包含或执行任意文件。主要有两种类型的文件包含漏洞&#xff1a; 本地文件包含&#xff08;Local File Inclusion, …

[MySQL]购物管理系统—简略版

本文内容需以MySQL支持 特别感谢baidu comate AI提供的少量虚拟数据 0.建库(建立数据库——utf8字符集&#xff0c;utf8_general_ci排序规则) 1.此项目ER图如下 2.DDLDML(共九表&#xff0c;27数据) SET FOREIGN_KEY_CHECKS 0;DROP TABLE IF EXISTS goods; CREATE TABLE g…

计算机的错误计算(十四)

摘要 解读 GPU和CPU计算上的精度差异&#xff1a;GPU 的 3个输出的相对误差分别高达 62.5%、50%、62.5%。 例1. 计算下列两个矩阵的乘积&#xff1a; 显然&#xff0c;其结果为第一列&#xff1a; 这个结果是准确的。 例2. 已知上面 3 个矩阵是由下面代码产生或输出&…

HTML【重点标签】

一、列表标签 1.无序列表 父级别&#xff1a; 无序列表的标题 ----表示无序列表的整体&#xff0c;用于包裹li标签 子级别&#xff1a; 无序列表一行的内容 ----表示无序列表的每一项&#xff0c;用于包含一行的内容 语义&#xff1a;构建没有顺序的列表 特点&#xff1a;列…