下面给你一套可直接用于毕业设计的《基于 SpringBoot + MyBatis + MySQL 的高校学生宿舍管理系统》完整方案,包含:选题意义 → 技术栈 → 数据库设计 → 系统功能 → 核心代码示例 → 项目结构 → 答辩亮点。内容偏“论文+工程结合”,非常适合本科毕设。


一、选题背景与意义(论文可用)

随着高校扩招,学生数量持续增长,传统的人工宿舍管理方式存在以下问题:

  • 信息记录依赖纸质或 Excel,易丢失、难维护

  • 宿舍分配、调换流程繁琐

  • 访客登记、报修处理效率低

  • 数据统计分析困难

本系统基于 SpringBoot + MyBatis + MySQL​ 开发,实现了宿舍信息的数字化、规范化管理,提高了后勤管理效率,具有较强的实用价值和推广意义。


二、技术选型(标准毕设写法)

层级

技术

后端框架

SpringBoot 2.7

ORM 框架

MyBatis + PageHelper

数据库

MySQL 8.0

前端

HTML + CSS + JavaScript + Thymeleaf(或 Vue)

构建工具

Maven

服务器

Tomcat(内嵌)

开发工具

IDEA + Navicat


三、系统角色设计

1️⃣ 系统管理员

  • 学生信息管理

  • 宿舍楼/宿舍管理

  • 宿舍分配与调整

  • 数据统计与分析

2️⃣ 宿舍管理员

  • 学生入住/退宿登记

  • 访客登记

  • 卫生检查记录

  • 报修处理

3️⃣ 学生

  • 查看个人住宿信息

  • 在线报修

  • 查看公告

  • 修改密码


四、数据库设计(核心表)

1️⃣ 学生表 student

CREATE TABLE student (
  id INT PRIMARY KEY AUTO_INCREMENT,
  stu_no VARCHAR(20) UNIQUE NOT NULL,
  name VARCHAR(50),
  gender CHAR(1),
  college VARCHAR(100),
  phone VARCHAR(20),
  password VARCHAR(100),
  dorm_id INT
);

2️⃣ 宿舍楼表 building

CREATE TABLE building (
  id INT PRIMARY KEY AUTO_INCREMENT,
  name VARCHAR(50),
  manager VARCHAR(50),
  phone VARCHAR(20)
);

3️⃣ 宿舍表 dorm

CREATE TABLE dorm (
  id INT PRIMARY KEY AUTO_INCREMENT,
  dorm_no VARCHAR(20),
  building_id INT,
  capacity INT,
  occupied INT DEFAULT 0,
  remark VARCHAR(255)
);

4️⃣ 报修表 repair

CREATE TABLE repair (
  id INT PRIMARY KEY AUTO_INCREMENT,
  student_id INT,
  content TEXT,
  status VARCHAR(20),
  create_time DATETIME,
  finish_time DATETIME
);

5️⃣ 访客表 visitor

CREATE TABLE visitor (
  id INT PRIMARY KEY AUTO_INCREMENT,
  name VARCHAR(50),
  phone VARCHAR(20),
  dorm_id INT,
  visit_time DATETIME,
  leave_time DATETIME
);

五、系统功能模块划分

高校宿舍管理系统
├── 学生管理模块
├── 宿舍楼管理模块
├── 宿舍分配模块
├── 报修管理模块
├── 访客管理模块
├── 公告管理模块
├── 数据统计模块
└── 系统管理模块

六、核心代码示例(Spring Boot + MyBatis)

1️⃣ 实体类 Student.java

@Data
public class Student {
    private Integer id;
    private String stuNo;
    private String name;
    private String gender;
    private String college;
    private String phone;
    private String password;
    private Integer dormId;
}

2️⃣ Mapper 接口 StudentMapper.java

@Mapper
public interface StudentMapper {

    Student selectByStuNo(String stuNo);

    List<Student> selectAll();

    int insert(Student student);

    int update(Student student);

    int deleteById(Integer id);
}

3️⃣ Mapper XML StudentMapper.xml

<mapper namespace="com.example.mapper.StudentMapper">

    <select id="selectByStuNo" resultType="Student">
        SELECT * FROM student WHERE stu_no = #{stuNo}
    </select>

    <insert id="insert" useGeneratedKeys="true" keyProperty="id">
        INSERT INTO student(stu_no,name,gender,college,phone,password,dorm_id)
        VALUES(#{stuNo},#{name},#{gender},#{college},#{phone},#{password},#{dormId})
    </insert>

</mapper>

4️⃣ Service 层 StudentService.java

@Service
public class StudentService {

    @Autowired
    private StudentMapper studentMapper;

    public List<Student> listStudents() {
        return studentMapper.selectAll();
    }
}

5️⃣ Controller 层 StudentController.java

@Controller
@RequestMapping("/student")
public class StudentController {

    @Autowired
    private StudentService studentService;

    @GetMapping("/list")
    public String list(Model model) {
        model.addAttribute("students", studentService.listStudents());
        return "student/list";
    }
}

七、项目结构(标准 Maven)

dormitory-management
├── controller
├── service
│   └── impl
├── mapper
├── entity
├── resources
│   ├── mapper
│   ├── static
│   ├── templates
│   └── application.yml
└── DormApplication.java

八、系统特色(答辩加分)

✅ 基于 RESTful 风格开发

✅ 使用 MyBatis 动态 SQL

✅ 分页查询(PageHelper)

✅ 宿舍容量自动校验

✅ 权限分级控制(管理员 / 宿管 / 学生)

✅ 可扩展为前后端分离(Vue + Axios)


九、毕设论文写作建议

论文章节参考

  1. 绪论

  2. 相关技术介绍

  3. 系统需求分析

  4. 系统设计

  5. 系统实现

  6. 系统测试

  7. 总结与展望

测试重点

  • 宿舍超额分配校验

  • 报修状态流转

  • 多角色登录权限


十、可升级方向(体现工作量)

✅ 前后端分离(Vue + ElementUI)

✅ 登录验证码 / JWT

✅ 宿舍卫生评分系统

✅ 数据可视化(ECharts)

✅ 移动端 H5 / 小程序

更多推荐