基于javaweb+mysql的+JPA学生宿舍学生住宿申请管理系统(管理员、学生)

运行环境

Java≥8、MySQL≥5.7

开发工具

eclipse/idea/myeclipse/sts等均可配置运行

适用

课程设计,大作业,毕业设计,项目练习,学习演示等

功能说明

后台管理员:管理用户、学生、班级、宿舍、处理住宿申请、分配宿舍

前台学生:查询宿舍、申请宿舍

后台管理员:

前台学生:

技术框架

JSP JavaScript SpringBoot SpringDataJPA thymeleaf MySQL HTML


适用

课程设计,大作业,毕业设计,项目练习,学习演示等

            <div class="search" style="padding-top: 10px;"><div class="layui-form layui-form-item layui-inline" style="margin-bottom: 0"><input type="text" id="q_student_id" placeholder="请输入学号" autocomplete="off" class="layui-input"></div><div class="layui-form layui-form-item layui-inline" style="margin-bottom: 0"><input type="text" id="q_key_word" placeholder="请输入姓名或其它关键词" autocomplete="off" class="layui-input"></div><div class="layui-form layui-form-item layui-inline" style="margin-bottom: 0"><select id="q_teaching_class_id" lay-filter="teachingClasses"><option value="" selected="">不限班级</option><option th:each="teachingClass : ${teachingClasses}"th:value="${teachingClass.id}"th:text="${teachingClass.name}"value=""></option></select></div><div class="layui-form layui-form-item layui-inline" style="margin-bottom: 0"><select id="q_query_type" lay-filter="">
    <link rel="icon" href="../../static/favicon.ico" th:href="@{/favicon.ico}" type="image/x-icon"><!--导入网页图标 --><link rel="shortcut icon" href="../../static/favicon.ico" th:href="@{/favicon.ico}" type="image/x-icon"><!--导入layUI css库 --><link rel="stylesheet" href="../../static/lib/layui/css/layui.css" th:href="@{/lib/layui/css/layui.css}"media="all"><!--导入公共的css,其中可定义整个网页的配色方案 --><link rel="stylesheet" href="../../static/css/common.css" th:href="@{/css/common.css}">
</head>
<body class="layui-layout-body">
<div class="layui-layout layui-layout-admin"><!-- 页面的header --><div th:replace="admin/_fragments :: admin-header" class="layui-header"><a href="javascript:void(0)"><div id="l-logo" class="layui-logo">学生住宿管理系统</div></a>
                </a><dl class="layui-nav-child"><dd><a href="/user">个人中心</a></dd></dl></li><li class="layui-nav-item"><a href="/logout">安全退出</a></li></ul></div><!-- 页面的menu/左边的导航栏 --><div th:replace="admin/_fragments :: admin-menu" id="div_side_bg" class="layui-side layui-bg-black"><div class="layui-side-scroll"><!-- 左侧导航区域(可配合layui已有的垂直导航) --><ul class="layui-nav layui-nav-tree" lay-filter="nav-dom"><li class="layui-nav-item"><a class="" href="javascript:void(0)">系统管理</a><dl class="layui-nav-child"><dd><a href="javascript:void(0)" th:href="@{/admin/user-list}">用户列表</a></dd><!--<dd><a href="javascript:void(0)" th:href="@{/admin/role-list}">角色与权限</a></dd>--></dl></li><li class="layui-nav-item"><a href="javascript:void(0)">学生管理</a><dl class="layui-nav-child"><dd><a href="javascript:void(0)" th:href="@{/admin/student-list}">学生列表</a></dd><dd><a href="javascript:void(0)" th:href="@{/admin/teaching-class-list}">教学班级</a></dd>
    public String toAdminRoomRequestList(Model model) {model.addAttribute("statuses", roomRequestService.listAllStatuses());return "admin/room-request-list"; // Thymeleaf模板的名字,表示 templates/admin/room-request-list.html}@ApiOperation("ajax:分页查询住宿申请信息")@RequestMapping(value = "/admin/room-requests", method = {RequestMethod.POST})@ResponseBodypublic Page<RoomRequest> fetchPage(@RequestBody PageRequest pageRequest) {return roomRequestService.fetchPage(pageRequest);}@ApiOperation("ajax:根据id查询住宿申请")@GetMapping("/admin/room-request/{id}")@ResponseBodypublic RoomRequest getRoomRequestById(@PathVariable Long id) {return roomRequestService.getRoomRequestById(id);}@ApiOperation("跳转到住宿申请编辑界面")@GetMapping("/admin/room-request/edit")public String toEditRoomRequestById(@RequestParam(defaultValue = "-1") long id, Model model) {
            var data = obj.data;if (obj.event === 'del') {layer.confirm("确定要删除名称为" + data.name + "的寝室吗?", {icon: 0, title: '提示'}, function (index) {deleteByIds(data.id);layer.close(index);});} else if (obj.event === 'edit') {window.location.href = "/admin/room/edit?id=" + data.id;}});});
</script>
</body>
</html>
<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<head th:replace="admin/_fragments :: head(~{::title})"><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0">
            <div style="margin-top: 10px"><span class="layui-breadcrumb" lay-separator=" | "><a href="/admin/index">首页</a><a href="/admin/room-request-list">住宿申请</a></span></div><div class="search" style="padding-top: 10px;"><div class="display-none layui-form layui-form-item layui-inline" style="margin-bottom: 0"><input type="text" id="q_room-request_id" placeholder="请输入ID" autocomplete="off"class="layui-input"></div><div class="layui-form layui-form-item layui-inline" style="margin-bottom: 0"><input type="text" id="q_key_word" placeholder="请输入关键词" autocomplete="off" class="layui-input"></div><div class="layui-form layui-form-item layui-inline" style="margin-bottom: 0"><select id="q_status_id" lay-filter="statuses"><option value="" selected="">不限状态</option><option th:each="status : ${statuses}"th:value="${status.code}"th:text="${status.message}"value=""></option></select></div><div class="layui-form layui-form-item layui-inline" style="margin-bottom: 0"><select id="q_query_type" lay-filter=""><option value="0" selected="">模糊查询</option>
                    layer.msg("删除成功", {icon: 1, offset: 'c', time: 800});window.location.reload();} else {layer.msg("删除失败", {icon: 2, offset: 'c', time: 1000});}});}// 为表格配置查询条件var active = {reload: function () {//执行重载table.reload('table_id', {page: {curr: 1 //重新从第 1 页开始},
        } else {// 新增,同时创建一个用户名和密码都是学号的用户val user = new User();user.setUsername(student.getId());user.setPassword(student.getId());val role = new Role();role.setId(1L); // 1表示学生user.setRole(role);val result = userService.saveUser(user);if (result.isSuccess()) {student.setUser(result.getValue());return success(studentDao.save(student));} else {return failure("创建用户失败");}}}@Override
                    <select id="q_query_type" lay-filter=""><option value="0" selected="">模糊查询</option><option value="1">精确查询</option></select></div><button class="layui-btn layui-icon layui-icon-search" id="search_btn" data-type="reload"></button></div><table class="layui-hide" id="data-table" lay-filter="data-table"></table></div><div hidden id="info" th:text="${#strings.isEmpty(info)?'':info}"></div><div hidden id="error" th:text="${#strings.isEmpty(error)?'':error}"></div></div><div th:replace="admin/_fragments :: admin-footer" class="layui-footer" id="sdms-footer"></div>
</div>
<!--导入footer -->
<script src="../../static/js/footer.js" th:src="@{/js/footer.js}"></script>
<!--导入jQuery库 -->
<script src="../../static/lib/jQuery/jquery-3.5.1.min.js" th:src="@{/lib/jQuery/jquery-3.5.1.min.js}"></script>
<!--导入cookie库 -->
<script src="../../static/lib/cookie/js.cookie-2.2.1.min.js" th:src="@{/lib/cookie/js.cookie-2.2.1.min.js}"></script>
<!--导入layUI js库 -->
import com.demo.common.result.LayuiResult;
import com.demo.entity.User;
import com.demo.service.RoleService;
import com.demo.service.UserService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.val;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.servlet.mvc.support.RedirectAttributes;import javax.annotation.Resource;@Api("用户相关api")
import org.apache.shiro.authc.IncorrectCredentialsException;
import org.apache.shiro.authc.UnknownAccountException;
import org.apache.shiro.authc.UsernamePasswordToken;
import org.springframework.stereotype.Service;import javax.annotation.Resource;
import java.util.Collection;import static com.demo.common.result.OperationResult.failure;
import static com.demo.common.result.OperationResult.success;
import static com.demo.common.util.BeanUtils.copyProperties;
import static com.demo.common.util.BeanUtils.getNullPropertyNames;
import static com.demo.common.util.StringUtils.isBlankOrNull;
import static com.demo.common.util.StringUtils.parseLong;
import static com.demo.common.util.StringUtils.trimAllWhitespace;@Slf4j
@Service
public class UserServiceImpl implements UserService {
                <div class="layui-form layui-form-item layui-inline" style="margin-bottom: 0"><select id="q_category_id" lay-filter="categories"><option value="" selected="">不限类型</option><option th:each="category : ${categories}"th:value="${category.id}"th:text="${category.name}"value=""></option></select></div><div class="layui-form layui-form-item layui-inline" style="margin-bottom: 0"><select id="q_query_type" lay-filter=""><option value="0" selected="">模糊查询</option><option value="1">精确查询</option>
    <div th:replace="admin/_fragments :: admin-footer" class="layui-footer" id="sdms-footer"></div>
</div>
<!--导入footer -->
<script src="../../static/js/footer.js" th:src="@{/js/footer.js}"></script>
<!--导入jQuery库 -->
<script src="../../static/lib/jQuery/jquery-3.5.1.min.js" th:src="@{/lib/jQuery/jquery-3.5.1.min.js}"></script>
<!--导入cookie库 -->
<script src="../../static/lib/cookie/js.cookie-2.2.1.min.js" th:src="@{/lib/cookie/js.cookie-2.2.1.min.js}"></script>
<!--导入layUI js库 -->
<script src="../../static/lib/layui/layui.js" th:src="@{/lib/layui/layui.js}"></script>
<!--导入公共的js,其中实现了菜单按钮的点击事件-->
<script src="../../static/js/common.js" th:src="@{/js/common.js}"></script>
<script type="text/html" id="toolbar"><div class="layui-btn-container"><button class="layui-btn layui-btn-sm" lay-event="create">添加用户</button><button class="layui-btn layui-btn-danger layui-btn-sm" lay-event="deleteBatch">批量删除</button></div>
</script>
<script type="text/html" id="rowBar"><a class="layui-btn layui-btn-xs" lay-event="edit">编辑</a>
    public OperationResult<TeachingClass> saveTeachingClass(TeachingClass teachingClass) {if (teachingClass == null) {return failure("班级为null");}val name = teachingClass.getName();if (isBlankOrNull(name)) {return failure("班级名称不可以为空或者空白串");}return success(teachingClassDao.save(teachingClass));}@Overridepublic OperationResult<String> deleteTeachingClassByIds(Collection<Long> ids) {try {teachingClassDao.deleteTeachingClassesByIdIn(ids);} catch (Exception e) {log.error("班级删除失败,ids=" + ids + ",error is " + e.getMessage());return failure("删除失败");}
                                class="layui-badge"th:text="${session.noHandleCount==null?'0':session.noHandleCount}">6</span></a></dd><dd><a href="javascript:void(0)" th:href="@{/admin/allocation-list}">宿舍分配详情</a></dd></dl></li></ul></div></div><div class="layui-body"><!-- 内容主体区域 --><div style="width: 94%;height:92%; margin:auto"><!-- 面包屑--><div style="margin-top: 10px"><span class="layui-breadcrumb" lay-separator=" | "><a href="/admin/index">首页</a><a href="/admin/student-list">学生列表</a></span></div><div class="search" style="padding-top: 10px;"><div class="layui-form layui-form-item layui-inline" style="margin-bottom: 0"><input type="text" id="q_student_id" placeholder="请输入学号" autocomplete="off" class="layui-input"></div><div class="layui-form layui-form-item layui-inline" style="margin-bottom: 0"><input type="text" id="q_key_word" placeholder="请输入姓名或其它关键词" autocomplete="off" class="layui-input">
<!--导入footer -->
<script src="../../static/js/footer.js" th:src="@{/js/footer.js}"></script>
<!--导入jQuery库 -->
<script src="../../static/lib/jQuery/jquery-3.5.1.min.js" th:src="@{/lib/jQuery/jquery-3.5.1.min.js}"></script>
<!--导入cookie库 -->
<script src="../../static/lib/cookie/js.cookie-2.2.1.min.js" th:src="@{/lib/cookie/js.cookie-2.2.1.min.js}"></script>
<!--导入layUI js库 -->
<script src="../../static/lib/layui/layui.js" th:src="@{/lib/layui/layui.js}"></script>
<!--导入公共的js,其中实现了菜单按钮的点击事件-->
<script src="../../static/js/common.js" th:src="@{/js/common.js}"></script>
<script type="text/html" id="toolbar"><div class="layui-btn-container"><button class="layui-btn layui-btn-sm" lay-event="create">添加用户</button>















基于javaweb+mysql的+JPA学生宿舍学生住宿申请管理系统(管理员、学生)相关推荐

  1. 基于javaweb+mysql的+JPA图书馆座位占座预约管理系统(管理员、老师、

    基于javaweb+mysql的+JPA图书馆座位占座预约管理系统(管理员.老师.学生) 运行环境 Java≥8.MySQL≥5.7 开发工具 eclipse/idea/myeclipse/sts等均 ...

  2. 基于javaweb+mysql的+JPA旅行网站旅游管理系统(前台、后台)

    基于javaweb+mysql的+JPA旅行网站旅游管理系统(前台.后台) 运行环境 Java≥8.MySQL≥5.7 开发工具 eclipse/idea/myeclipse/sts等均可配置运行 适 ...

  3. 基于javaweb+mysql的学生在线选课系统(管理员、教师、学生)

    基于javaweb+mysql的学生在线选课系统(管理员.教师.学生) 运行环境 Java≥8.MySQL≥5.7.Tomcat≥8 开发工具 eclipse/idea/myeclipse/sts等均 ...

  4. 基于javaweb+mysql的教务选课管理系统(管理员、教师、学生)

    基于javaweb+mysql的教务选课管理系统(管理员.教师.学生) 运行环境 Java≥8.MySQL≥5.7.Tomcat≥8 开发工具 eclipse/idea/myeclipse/sts等均 ...

  5. 基于javaweb+mysql的学生选课系统(java+javaweb+jdbc)

    基于javaweb+mysql的学生选课系统(java+javaweb+jdbc) 运行环境 Java≥8.MySQL≥5.7.Tomcat≥8 开发工具 eclipse/idea/myeclipse ...

  6. 基于javaweb+mysql的高校学生会社团管理系统(前台、后台)

    基于javaweb+mysql的高校学生会社团管理系统(前台.后台) 运行环境 Java≥8.MySQL≥5.7.Tomcat≥8 开发工具 eclipse/idea/myeclipse/sts等均可 ...

  7. [含lw+任务书+中期检查表+辩论PPT+源码等]基于javaweb+mysql数据库实现的大学生助学贷款管理系统[包运行成功]

    <基于javaweb+mysql数据库实现的大学生助学贷款管理系统>该项目含有源码.论文等资料.配套开发软件.软件安装教程.项目发布教程等,项目包运行成功,下面是项目功能介绍 使用技术: ...

  8. 基于javaweb+mysql的大学生实习管理系统(java+springboot+thymeleaf+html+jquery+bootstrap)

    基于javaweb+mysql的大学生实习管理系统(java+springboot+thymeleaf+html+jquery+bootstrap) 运行环境 Java≥8.MySQL≥5.7 开发工 ...

  9. 基于javaweb+mysql的教务管理系统(java+jsp+spring+springboot+layui)

    基于javaweb+mysql的教务管理系统(java+jsp+spring+springboot+layui) 运行环境 Java≥8.MySQL≥5.7 开发工具 eclipse/idea/mye ...

  10. 基于javaweb+mysql的个人日记管理系统

    基于javaweb+mysql的个人日记管理系统 运行环境 Java≥8.MySQL≥5.7.Tomcat≥8 开发工具 eclipse/idea/myeclipse/sts等均可配置运行 适用 课程 ...

最新文章

  1. sql server varchar最大长度_来自灵魂的拷问—知道什么是SQL执行计划吗?
  2. java int == integer_java int与integer的区别
  3. scanf_s 发送访问冲突_程序员如何解决并发冲突的难题?
  4. python中transpose函数_对numpy中的transpose和swapaxes函数详解
  5. jQuery对Ajax的封装应用(三)
  6. swoole会合并到php吗,thinkphp整合swoole
  7. (JAVA)List
  8. java restrictions_Restrictions----用法
  9. Exchange Server 2013部署系列之三:部署邮箱服务器角色
  10. 「大数据知识体系总结(2021版)」开放下载了!
  11. 转载 Microsoft .NET Pet Shop 4 架构与技术分析
  12. oracle中求商函数,三个方便实用的Oracle分析函数
  13. Visual Studio 2022配置GAMP出现 LNK2019无法解析外部符号_imp_timeGetTime@0
  14. TD-LTE原理及其关键技术介绍
  15. 月份缩写python_用法语月份缩写解析日期
  16. 【YOLOv3从头训练 数据篇】
  17. Tipask目录结构
  18. SSH服务详解(七)– SSH 连接 Github
  19. 找出excel 除0以外的最小值
  20. 隔离网络那点事(物理隔离网络)

热门文章

  1. 语音识别算法原理文档整理(一)
  2. Linux下安装vmWare tools工具(详细讲解)
  3. 如何利用Python网络爬虫抓取微信好友数量以及微信好友的男女比例
  4. java web 常见面试题_2019最新Javaweb面试题及答案
  5. 使用jQuery播放/暂停 HTML5视频
  6. 用什么软件测试固态硬盘写入速度,利用CrystalDiskMark工具检测电脑SSD固态硬盘读写速度...
  7. 游戏引擎架构 (Jason Gregory 著)
  8. node mysql菜鸟教程_Node.js Web 模块
  9. OmniPlayer Pro for Mac(全能视频播放器)
  10. [读书笔记]职场动物进化手册