基于 SpringBoot + MyBatis + MySQL 的高校学生宿舍管理系统
下面给你一套可直接用于毕业设计的《基于 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)
九、毕设论文写作建议
论文章节参考
-
绪论
-
相关技术介绍
-
系统需求分析
-
系统设计
-
系统实现
-
系统测试
-
总结与展望
测试重点
-
宿舍超额分配校验
-
报修状态流转
-
多角色登录权限
十、可升级方向(体现工作量)
✅ 前后端分离(Vue + ElementUI)
✅ 登录验证码 / JWT
✅ 宿舍卫生评分系统
✅ 数据可视化(ECharts)
✅ 移动端 H5 / 小程序
更多推荐
所有评论(0)