Java项目:校园宿舍管理系统(优质版)(Springboot3+Maven+Mybatis Plus+Vue3+ Element Plus+Mysql)

项目介绍 :

Springboot3+Maven+Mybatis Plus+Vue3+ Element Plus+Mysql 开发的前后端分离的校园宿舍管理系统

项目演示:
https://www.bilibili.com/video/BV16UmoYWEVR/

运行环境:

最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。

IDE环境:

Eclipse,Myeclipse,IDEA或者Spring Tool Suite都可以

适用于:

由于本程序规模不大,可供课程设计,毕业设计学习演示之用

内置功能

管理员角色包含以下功能:

  • 首页信息统计展示
  • 学生信息管理
  • 宿管信息管理
  • 楼宇信息管理
  • 房间信息管理
  • 学生信息管理
  • 公告信息管理
  • 报修信息管理
  • 调宿信息管理
  • 访客信息管理
  • 水费信息管理
  • 电费信息管理
  • 卫生检查信息管理
  • 个人信息管理

宿舍管理员包含以下功能

  • 首页信息统计展示
  • 学生信息管理
  • 楼宇信息管理
  • 房间信息管理
  • 学生信息管理
  • 报修信息管理
  • 调宿信息管理
  • 访客信息管理
  • 卫生检查信息管理
  • 个人信息管理

学生包含以下功能

  • 首页信息统计展示
  • 房间信息查看
  • 床位信息查看
  • 报修申请
  • 调宿申请
  • 水费信息添加
  • 电费信息添加
  • 卫生信息查看
  • 个人信息管理
项目预览

在这里插入图片描述在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

用户管理控制层:

package com.example.springboot.controller;import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.example.springboot.common.Result;
import com.example.springboot.entity.DormManager;
import com.example.springboot.entity.User;
import com.example.springboot.service.DormManagerService;
import org.apache.commons.lang.StringUtils;
import org.springframework.web.bind.annotation.*;import javax.annotation.Resource;
import javax.servlet.http.HttpSession;@RestController
@RequestMapping("/dormManager")
public class DormManagerController {@Resourceprivate DormManagerService dormManagerService;/*** 宿管添加*/@PostMapping("/add")public Result<?> add(@RequestBody DormManager dormManager) {int i = dormManagerService.addNewDormManager(dormManager);if (i == 1) {return Result.success();} else {return Result.error("-1", "添加失败");}}/*** 宿管信息更新*/@PutMapping("/update")public Result<?> update(@RequestBody DormManager dormManager) {if (StringUtils.equals("test",dormManager.getUsername())){return Result.error("-1", "禁止修改测试账号");}int i = dormManagerService.updateNewDormManager(dormManager);if (i == 1) {return Result.success();} else {return Result.error("-1", "更新失败");}}/*** 宿管删除*/@DeleteMapping("/delete/{username}")public Result<?> delete(@PathVariable String username) {if (StringUtils.equals("test",username)){return Result.error("-1", "禁止修改测试账号");}int i = dormManagerService.deleteDormManager(username);if (i == 1) {return Result.success();} else {return Result.error("-1", "删除失败");}}/*** 宿管查找*/@GetMapping("/find")public Result<?> findPage(@RequestParam(defaultValue = "1") Integer pageNum,@RequestParam(defaultValue = "10") Integer pageSize,@RequestParam(defaultValue = "") String search) {Page page = dormManagerService.find(pageNum, pageSize, search);if (page != null) {return Result.success(page);} else {return Result.error("-1", "查询失败");}}/*** 宿管登录*/@PostMapping("/login")public Result<?> login(@RequestBody User user, HttpSession session) {Object o = dormManagerService.dormManagerLogin(user.getUsername(), user.getPassword());if (o != null) {System.out.println(o);//存入sessionsession.setAttribute("Identity", "dormManager");session.setAttribute("User", o);return Result.success(o);} else {return Result.error("-1", "用户名或密码错误");}}
}

用户信息主页

<template><div><el-breadcrumb separator-icon="ArrowRight" style="margin: 16px"><el-breadcrumb-item :to="{ path: '/home' }">首页</el-breadcrumb-item><el-breadcrumb-item>用户管理</el-breadcrumb-item><el-breadcrumb-item>宿管信息</el-breadcrumb-item></el-breadcrumb><el-card style="margin: 15px; min-height: calc(100vh - 111px)"><div><!--    功能区--><div style="margin: 10px 0"><!--    搜索区--><div style="margin: 10px 0"><el-input v-model="search" clearable placeholder="请输入姓名" prefix-icon="Search" style="width: 20%"/><el-button icon="Search" style="margin-left: 5px" type="primary" @click="load"></el-button><el-button icon="refresh-left" style="margin-left: 10px" type="default" @click="reset"></el-button><div style="float: right"><el-tooltip content="添加" placement="top"><el-button icon="plus" style="width: 50px" type="primary" @click="add"></el-button></el-tooltip></div></div></div><!--    表格--><el-table v-loading="loading" :data="tableData" border max-height="705" style="width: 100%"><el-table-column label="#" type="index"/><el-table-column label="账号" prop="username" sortable/><el-table-column label="姓名" prop="name"/><el-table-column:filter-method="filterTag":filters="[{ text: '男', value: '男' },{ text: '女', value: '女' },]"filter-placement="bottom-end"label="性别"prop="gender"/><el-table-column label="年龄" prop="age" sortable/><el-table-column label="手机号" prop="phoneNum"/><el-table-column label="邮箱" prop="email"/><el-table-column label="任职宿舍楼" prop="dormBuildId" sortable/><!--      操作栏--><el-table-column label="操作" width="130px"><template #default="scope"><el-button icon="Edit" type="primary" @click="handleEdit(scope.row)"></el-button><el-popconfirm title="确认删除?" @confirm="handleDelete(scope.row.username)"><template #reference><el-button icon="Delete" type="danger"></el-button></template></el-popconfirm></template></el-table-column></el-table><!--分页--><div style="margin: 10px 0"><el-paginationv-model:currentPage="currentPage":page-size="pageSize":page-sizes="[10, 20]":total="total"layout="total, sizes, prev, pager, next, jumper"@size-change="handleSizeChange"@current-change="handleCurrentChange"></el-pagination></div><div><!--      弹窗--><el-dialog v-model="dialogVisible" title="操作" width="30%" @close="cancel"><el-form ref="form" :model="form" :rules="rules" label-width="120px"><el-form-item label="账号" prop="username"><el-input v-model="form.username" :disabled="judgeAddOrEdit" style="width: 80%"></el-input></el-form-item><el-form-item label="密码" prop="password"><el-input v-model="form.password" :disabled="disabled" :show-password="showpassword"style="width: 80%"></el-input><el-tooltip content="修改密码" placement="right"><el-icon :style="editDisplay" size="large" style="margin-left: 5px; cursor: pointer"@click="EditPass"><edit/></el-icon></el-tooltip></el-form-item><el-form-item :style="display" label="确认密码" prop="checkPass"><el-input v-model="form.checkPass" :show-password="showpassword" style="width: 80%"></el-input></el-form-item><el-form-item label="姓名" prop="name"><el-input v-model="form.name" style="width: 80%"></el-input></el-form-item><el-form-item label="年龄" prop="age"><el-input v-model.number="form.age" style="width: 80%"></el-input></el-form-item><el-form-item label="性别" prop="gender"><el-radio v-model="form.gender" label="男"></el-radio><el-radio v-model="form.gender" label="女"></el-radio></el-form-item><el-form-item label="手机号" prop="phoneNum"><el-input v-model.number="form.phoneNum" style="width: 80%"></el-input></el-form-item><el-form-item label="邮箱地址" prop="email"><el-input v-model="form.email" style="width: 80%"></el-input></el-form-item><el-form-item label="任职宿舍楼" prop="dormBuildId"><el-input v-model="form.dormBuildId" style="width: 80%"></el-input></el-form-item></el-form><template #footer><span class="dialog-footer"><el-button @click="cancel">取 消</el-button><el-button type="primary" @click="save">确 定</el-button></span></template></el-dialog></div></div></el-card></div>
</template>
<script src="@/assets/js/DormManagerInfo.js"></script>

创作不易,源码非无偿提供,需要获取源码的私信博主

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

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

【开源项目】数字孪生仓储~经典开源项目数字孪生智慧仓储——开源工程及源码

飞渡科技数字孪生仓储管理平台&#xff0c;基于国产数字孪生引擎平台&#xff0c;整合WMS系统&#xff0c;深度融合5G、大数据、云计算、AI、融合通信等前沿技术应用&#xff0c;将数据、技术、设备与仓储管理需求有机结合&#xff0c;构建多维立体可视窗口&#xff0c;实现仓库…

unity3d————Resources异步加载

知识点一&#xff1a;Resources异步加载是什么&#xff1f; 在Unity中&#xff0c;资源加载可以分为同步加载和异步加载两种方式。同步加载会在主线程中直接进行&#xff0c;如果加载的资源过大&#xff0c;可能会导致程序卡顿&#xff0c;因为从硬盘读取数据到内存并进行处理…

计算机毕业设计Python+CNN卷积神经网络股票预测系统 股票推荐系统 股票可视化 股票数据分析 量化交易系统 股票爬虫 股票K线图 大数据毕业设计 AI

温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 作者简介&#xff1a;Java领…

这个 AI 懂 Vue 吗?

作者&#xff1a;前端俱乐部 写在前面 最近海外的 AI 编辑器 Cursor 好像挺火的&#xff0c;与此同时&#xff0c;字节跳动也推出了豆包MarsCode编程助手&#xff0c;可以直接生成代码和极限编程。 豆包MarsCode AI 支持网页版编辑器&#xff0c;但我个人更喜欢让它和人气爆棚…

海量数据面试题

目录 前言 什么是海量数据 一、利用位图解决 二、利用布隆过滤器解决 三、利用哈希切割解决 前言 在大数据时代&#xff0c;海量数据处理已成为技术领域中的一项重要课题。无论是企业级应用、互联网平台&#xff0c;还是人工智能和机器学习的实现&#xff0c;都离不开对大规…

复现论文-报错记录dream-ood

复现论文Dream the Impossible: Outlier Imagination with Diffusion Models 过程中出现的问题记录 服务器&#xff1a;NIVIDA2080ti github: 论文&#xff1a; arxiv.org/pdf/2309.13415 1.pytorch使用出现"RuntimeError: An attempt has been made to start a new proc…

LinkedList与链表

目录 一、链表 链表相关练习题 二、LikedList 1、构造方法 2、常用方法 3、LinkedList的遍历 4、ArrayList与LinkedList的区别 一、链表 链表是一种物理存储结构上非连续存储结构&#xff0c;数据元素的逻辑顺序是通过链表中的引用链接次序实现的 链式结构在逻辑上是连…

vulnhub靶机hackxor提示(部分写出)

靶机地址&#xff1a;Hackxor: 1 ~ VulnHub 主机发现 130是靶机 端口扫描 服务扫描 漏洞扫描 Hosts配置&#xff08;这个是需要在网上找的&#xff0c;这个是靶机的缘故搭建不完全所以需要自己写hosts&#xff09; 访问wraithmail:8080 数据包 GET http://utrack/cat.jsp?id1…

录的视频怎么消除杂音?从录制到后期的杂音消除攻略

在录制视频时&#xff0c;杂音往往是一个令人头疼的问题。无论是环境噪音、设备噪音还是电磁干扰&#xff0c;杂音的存在都会极大地影响视频的听觉体验。录的视频怎么消除杂音&#xff1f;通过一些前期准备和后期处理技巧&#xff0c;我们可以有效地消除这些杂音&#xff0c;提…

C++内存模型与并发支持

本文是CppCon23演讲&#xff1a;C Memory Model&#xff1a;from C11 to C 23的笔记&#xff0c;掺杂个人见解以及扩展 内存模型 操作系统的四个特性&#xff1a;虚拟&#xff0c;并发&#xff0c;持久 抽象中很重要的一部分就是内存虚拟。从编程的角度来看&#xff0c;编程就…

机器学习day5-随机森林和线性代数1

十 集成学习方法之随机森林 集成学习的基本思想就是将多个分类器组合&#xff0c;从而实现一个预测效果更好的集成分类器。大致可以分为&#xff1a;Bagging&#xff0c;Boosting 和 Stacking 三大类型。 &#xff08;1&#xff09;每次有放回地从训练集中取出 n 个训练样本&…

jdk1.7的hashmap为什么会出现死循环问题

原因在于链表结构出现了环状。为什么会出现环状的链表&#xff1f; 原因在于多个线程同时进行扩容的时候。 由于一个线程使用的是头插法进行迁移数据到新开辟的数组中&#xff0c;使得链表中的数据是颠倒的顺序。 而当另一个线程扩容的时候就可能因为这个颠倒的顺序而出现指针…

微信小程序navigateTo:fail webview count limit exceed

theme: nico 你们好&#xff0c;我是金金金。 场景 uniapp编写微信小程序&#xff0c;使用uni.navigateTo跳转的过程中报错如下&#xff1a; 报错意思也非常明显了&#xff1a;errMsg":"navigateTo:fail webview 数量超出限制 排查 排查之前我先贴一下代码 代码非…

逆向攻防世界CTF系列33-流浪者

逆向攻防世界CTF系列33-流浪者 shiftf12看到pass&#xff0c;跟进 是个输入的处理&#xff0c;其实很简单&#xff0c;看不懂也没关系&#xff0c;先看看return 这里strcmp成功后return的就是成功 最后要为KanXueCTF2019JustForhappy while ( *(_DWORD *)(a1 4 * v4) < 0x…

算法--解决二叉树遍历问题

第一 实现树的结构 class Node(): # 构造函数&#xff0c;初始化节点对象&#xff0c;包含数据和左右子节点 def __init__(self, dataNone): self.data data # 节点存储的数据 self.left None # 左子节点&#xff0c;默认为None self.rig…

Ubuntu22.04.2 k8s部署

k8s介绍 简单介绍 通俗易懂的解释&#xff1a; Kubernetes&#xff08;也被称为 K8s&#xff09;就像是一个大管家&#xff0c;帮你管理你的云计算服务。想象一下&#xff0c;你有很多个小程序&#xff08;我们称之为“容器”&#xff09;&#xff0c;每个都在做不同的事情&…

游戏引擎学习第12天

视频参考:https://www.bilibili.com/video/BV1yom9YnEWY 这节没讲什么东西&#xff0c;主要是改了一下音频的代码 后面有介绍一些alloc 和malloc,VirtualAlloc 的东西 _alloca 函数&#xff08;或 alloca&#xff09;分配的是栈内存&#xff0c;它的特点是&#xff1a; 生命周…

Linux-软件管理-本地仓库和网络资源仓库配置(RHCSA)

该章节的目录如下&#xff1a; 认识rpm包 将设备挂载到/mnt上面 查看光驱上的相关信息 使用rpm包管理软件 仓库的配置(重要) 无相关文件 本地仓库配置&#xff08;书写相关的仓库文件&#xff09; 配置流程 效果测试&#xff08;安装卸载&#xff09; 查看仓库 清理…

【arxiv‘24】Vision-Language Navigation with Continual Learning

论文信息 题目&#xff1a;Vision-Language Navigation with Continual Learning 视觉-语言导航与持续学习 作者&#xff1a;Zhiyuan Li, Yanfeng Lv, Ziqin Tu, Di Shang, Hong Qiao 论文创新点 VLNCL范式&#xff1a;这是一个新颖的框架&#xff0c;它使得智能体能够在适…

数字化建设:指标如何驱动的企业KPI设计?

我们以KPI设定为例&#xff0c;简单说明在一套科学的经营分析体系的加持下&#xff0c;企业的经营KPI应该如何设定&#xff0c;如图所示。 指标驱动的企业KPI设计 每年年初企业做战略规划的同时&#xff0c;会启动年度业务KPI的设定。这个时候经营分析团队会主导整个过程。首先…