[免费]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 {
@Resource
private 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);
//存入session
session.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