[免费]SpringBoot+Vue3校园宿舍管理系统(优质版)【论文+源码+SQL脚本】

大家好,我是java1234_小锋老师,看到一个不错的SpringBoot+Vue3校园宿舍管理系统(优质版),分享下哈。

项目视频演示

【免费】SpringBoot+Vue3校园宿舍管理系统(优质版) Java毕业设计_哔哩哔哩_bilibili

项目介绍

随着信息技术的不断发展,现代化的校园管理需求日益增多,尤其在校园宿舍管理方面,传统的手工管理方式已经无法满足日益增长的需求。为提高校园宿舍管理的效率和信息化水平,本文设计并实现了一种基于Spring Boot与Vue.js技术栈的校园宿舍管理系统。

系统采用了前后端分离的架构,前端使用Vue.js框架开发,后端使用Spring Boot框架进行开发。前端通过Vue.js与后端Spring Boot的RESTful API进行交互,确保了系统的高效性与灵活性。在数据存储方面,采用MySQL数据库进行管理,确保了数据的稳定性和高效访问。

该系统主要实现了宿舍信息管理、学生信息管理、宿舍查询、住宿申请、宿舍调换、宿舍维护等功能。管理员可以通过系统进行宿舍的分配、调整与管理,学生则可以通过系统提交住宿申请、查看宿舍信息以及进行其他宿舍相关操作。系统还提供了完善的权限管理机制,确保不同角色(如管理员、学生)只能访问相应的功能模块。

在实现过程中,采用了Spring Boot的自动配置与依赖注入机制,简化了后端开发的复杂度,提高了开发效率。前端方面,Vue.js框架配合Element UI组件库,使得界面简洁美观,操作流畅。通过模块化、组件化开发,保证了系统的可维护性和可扩展性。

本文通过对系统的设计与实现进行分析,验证了基于Spring Boot和Vue.js的校园宿舍管理系统能够有效提高宿舍管理的效率,减少人工操作,提高管理透明度,满足现代化校园管理的需求。

系统展示

部分代码

package com.example.springboot.controller;import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.example.springboot.common.Result;
import com.example.springboot.entity.Student;
import com.example.springboot.entity.User;
import com.example.springboot.service.StudentService;
import org.apache.commons.lang.StringUtils;
import org.springframework.web.bind.annotation.*;import javax.annotation.Resource;
import javax.servlet.http.HttpSession;@RestController
@RequestMapping("/stu")
public class StudentController {@Resourceprivate StudentService studentService;/*** 添加学生信息*/@PostMapping("/add")public Result<?> add(@RequestBody Student student) {int i = studentService.addNewStudent(student);if (i == 1) {return Result.success();} else {return Result.error("-1", "添加失败");}}/*** 更新学生信息*/@PutMapping("/update")public Result<?> update(@RequestBody Student student) {if (StringUtils.equals("test",student.getUsername())){return Result.error("-1", "禁止修改测试账号");}int i = studentService.updateNewStudent(student);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 = studentService.deleteStudent(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 = studentService.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) {System.out.println(user.getUsername());System.out.println(user.getPassword());Object o = studentService.stuLogin(user.getUsername(), user.getPassword());if (o != null) {System.out.println(o);//存入sessionsession.setAttribute("Identity", "stu");session.setAttribute("User", o);return Result.success(o);} else {return Result.error("-1", "用户名或密码错误");}}/*** 主页顶部:学生统计*/@GetMapping("/stuNum")public Result<?> stuNum() {int num = studentService.stuNum();if (num > 0) {return Result.success(num);} else {return Result.error("-1", "查询失败");}}/*** 床位信息,查询是否存在该学生* 床位信息,查询床位上的学生信息*/@GetMapping("/exist/{value}")public Result<?> exist(@PathVariable String value) {Student student = studentService.stuInfo(value);if (student != null) {return Result.success(student);} else {return Result.error("-1", "不存在该学生");}}
}
<template><div class="login-container"><div style="margin-right: 150px; min-width: 300px"><img alt="" src="../../public/login_Team.png" style="width: 600px"/></div><div style="width: 400px; margin: 150px auto"><div style="color: black; font-size: 30px; text-align: left; padding: 30px 0">登陆</div><el-form ref="form" :model="form" :rules="rules" size="large"><el-form-item prop="username"><el-input v-model="form.username" clearable prefix-icon="avatar"></el-input></el-form-item><el-form-item prop="password"><el-input v-model="form.password" prefix-icon="lock" show-password></el-input></el-form-item><el-form-item :model="form" prop="identity"><el-radio v-model="form.identity" label="stu" style="color: grey">学生</el-radio><el-radio v-model="form.identity" label="dormManager" style="color: grey">宿舍管理员</el-radio><el-radio v-model="form.identity" label="admin" style="color: grey">系统管理员</el-radio></el-form-item><el-form-item><el-button :disabled="!disabled" style="width: 20%" type="primary" @click="login">登 录</el-button></el-form-item></el-form></div></div>
</template>
<script src="@/assets/js/Login.js"></script>
<style scoped>@import '../assets/css/Login.css';</style>

源码代码

链接:https://pan.baidu.com/s/1YpH1s4Lm26kWirb9dth28w
提取码:1234

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

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

相关文章

docker基础:搭建centos7(详见B站泷羽sec)

docker的简单学习&#xff1a; sudo apt-get update //这个命令让系统检查有没有新软件 sudo apt-get install docker.io //安装 Docker sudo docker version //查看是否安装成功&#xff0c;显示docker的版本信息 启用Docker 启…

Vue3入门介绍及快速上手

vue3 文章目录 vue31、概况2、快速入门3、常用指令3.1、v-for3.2、v-bind3.3、 v-if & v-show3.4、v-model3.5、 v-on 4 生命周期5、 工程化5.1、环境准备5.2、Vue项目-创建5.3、Vue项目开发流程5.4、组合式API5.5、reactive和ref函数5.6、watch5.7、父子组件通信 6、Vue路…

【ARM Coresight OpenOCD 系列 5 -- arp_examine 使用介绍】

文章目录 OpenOCD arp_examine 使用 OpenOCD arp_examine 使用 因为我们很多时候运行 Openocd 的时候有些 core 还没有启动, 所以最好在配置脚本中添加 -defer-examine这个参数, 如下&#xff1a; #cortex-m33 target create ${_CHIPNAME}.m33 cortex_m -dap ${_CHIPNAME}.da…

【大数据学习 | kafka高级部分】kafka的kraft集群

首先我们分析一下zookeeper在kafka中的作用 zookeeper可以实现controller的选举&#xff0c;并且记录topic和partition的元数据信息&#xff0c;帮助多个broker同步数据信息。 在新版本中的kraft模式中可以这个管理和选举可以用kafka自己完成&#xff0c;而不再依赖zookeeper。…

用户裂变数据分析

用户增长是一个工作和找工作的时候都不可避免的话题&#xff0c;那么用户增长&#xff0c;该怎么做数据分析&#xff1f;本文从两个方面分享了大部分企业做用户增长的方法&#xff0c;希望对你有所帮助。 01 用户增长的基本办法 1. 买量 在互联网公司中&#xff0c;买量是占…

论文分享:DiskANN查询算法

详细总结了三篇有关DiskANN最邻近查询图算法的论文 欢迎大家来点赞&#xff0c;更欢迎感兴趣的友友来探讨&#xff01; DiskANN的提出(NurIPS’19)文献分享: Vamana图算法以及面向SSD的DiskANN文章浏览阅读797次&#xff0c;点赞21次&#xff0c;收藏8次。NurIPS‘19_vamana图…

第16章 SELECT 底层执行原理

一、SELECT查询的完整结构 1.1 方式一&#xff08;SQL 92语法&#xff09; SELECT ..., ..., ... FROM ..., ..., ... WHERE 多表的连接条件 AND 不包含组函数的过滤条件 GROUP BY ..., ... HAVING 包含组函数的过滤条件 ORDER BY ... ASC/DESC LIMIT ..., ... 1.2 方式二&a…

【设计模式】结构型模式(四):组合模式、享元模式

《设计模式之结构型模式》系列&#xff0c;共包含以下文章&#xff1a; 结构型模式&#xff08;一&#xff09;&#xff1a;适配器模式、装饰器模式结构型模式&#xff08;二&#xff09;&#xff1a;代理模式结构型模式&#xff08;三&#xff09;&#xff1a;桥接模式、外观…

移门缓冲支架的作用与优势

1. 吸收冲击力&#xff0c;保护门体和墙体移门缓冲支架的主要功能之一是吸收门关闭时的冲击力。当门快速关闭时&#xff0c;如果没有缓冲装置&#xff0c;门会猛烈撞击门框或墙体&#xff0c;可能导致门体、轨道和墙体的损坏。缓冲支架通过吸收这部分冲击力&#xff0c;减少门对…

「IDE」集成开发环境专栏目录大纲

✨博客主页何曾参静谧的博客&#x1f4cc;文章专栏「IDE」集成开发环境&#x1f4da;全部专栏「Win」Windows程序设计「IDE」集成开发环境「UG/NX」BlockUI集合「C/C」C/C程序设计「DSA」数据结构与算法「UG/NX」NX二次开发「QT」QT5程序设计「File」数据文件格式「UG/NX」NX定…

协程3 --- golang的协程调度

文章目录 单进程时代多进程/线程时代协程时代内核级线程模型&#xff08;1&#xff1a;1&#xff09;用户级线程模型&#xff08;N&#xff1a;1&#xff09;两级线程模型CMP&#xff08;M&#xff1a;N&#xff09;GM模型 GMP模型 单进程时代 描述&#xff1a;每一个程序就是一…

鸿蒙华为商城APP案例

模拟器运行效果如下&#xff1a; 鸿蒙版APP-华为商城-演示视频

vue+Leaflet.PM插件实现创建和编辑几何图形(点、线、面、圆等)

场景 VueLeaflet实现加载OSM显示地图&#xff1a;https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/122317394在上面加载显示OSM的基础上&#xff0c;使用Leaflet.pm插件实现在页面上绘制、编辑、剪切、移动几何元素。Leaflet.pm插件 用于创建和编辑几何图层的插件可…

手动实现h5移动端点击全屏按钮横屏展示图片,左右滑动切换,处理页面会随着手指滑动问题

页面提供全屏按钮,全屏展示的容器 <div class"container"><button click"openSwiper">点击全屏查看</button><!-- 大图 --><divclass"full"v-if"showSwiper"touchstart"handleTouchStart"touch…

Vue2+3 —— Day3/4

Day3 Vue生命周期 和 生命周期的四个阶段 Vue生命周期的四个阶段&#xff1a; 从创建到销毁的整个阶段中&#xff0c;Vue提供好了一系列函数&#xff08;8个&#xff09;&#xff1b; 并且在经历生命周期的对应阶段时&#xff0c;会自动帮你调用这些函数 这8个函数称为生命…

Redis集群模式之Redis Sentinel vs. Redis Cluster

在分布式系统环境中&#xff0c;Redis以其高性能、低延迟和丰富的数据结构而广受青睐。随着数据量的增长和访问需求的增加&#xff0c;单一Redis实例往往难以满足高可用性和扩展性的要求。为此&#xff0c;Redis提供了两种主要的集群模式&#xff1a;Redis Sentinel和Redis Clu…

机器学习———特征工程

1 特征工程概念 特征工程就是对特征进行相关的处理&#xff0c;一般使用pandas来进行数据清洗和数据处理、使用sklearn来进行特征工程&#xff0c;特征工程是将任意数据(如文本或图像)转换为可用于机器学习的数字特征&#xff0c;比如:字典特征提取(特征离散化)、文本特征提取…

服务器数据恢复—分区结构被破坏的reiserfs文件系统数据恢复案例

服务器数据恢复环境&#xff1a; 一台服务器中有一组由4块SAS硬盘组建的RAID5阵列&#xff0c;上层安装linux操作系统统。分区结构&#xff1a;boot分区LVM卷swap分区&#xff08;按照顺序&#xff09;&#xff0c;LVM卷中划分了一个reiserfs文件系统作为根分区。 服务器故障…

vue3+vite搭建脚手架项目本地运行electron桌面应用

1.搭建脚手架项目 搭建Vue3ViteTs脚手架-CSDN博客 2.创建完项目后&#xff0c;安装所需依赖包 npm i vite-plugin-electron electron26.1.0 3.根目录下创建electron/main.ts electron/main.ts /** electron/main.ts */import { app, BrowserWindow } from "electron&qu…

C++ | Leetcode C++题解之第556题下一个更大元素III

题目&#xff1a; 题解&#xff1a; class Solution { public:int nextGreaterElement(int n) {int x n, cnt 1;for (; x > 10 && x / 10 % 10 > x % 10; x / 10) {cnt;}x / 10;if (x 0) {return -1;}int targetDigit x % 10;int x2 n, cnt2 0;for (; x2 …