本项目为计算机本科毕业设计,采用SSM(Spring + SpringMVC + MyBatis)作为后端框架,HTML + CSS + JavaScript作为前端,数据库使用MySQL 8.0。系统涵盖学生管理、老师管理、请假申请审批、专业管理、学院管理、班级管理、留言管理等7大功能模块。配套材料包括论文、答辩PPT、开题报告、任务书、数据库脚本、系统源码。
一、采用技术
| 层面 | 技术选型 |
|---|---|
| 后端框架 | SSM(Spring + SpringMVC + MyBatis) |
| 前端 | HTML + CSS + JavaScript |
| 数据库 | MySQL 8.0 |
| 架构 | B/S(浏览器/服务器) |
| 开发工具 | IntelliJ IDEA |
| 语言 | Java(JDK 1.8) |
| 服务器 | Tomcat 8.5 |
二、系统功能
系统分为三类角色:管理员、老师、学生,各角色功能如下:
系统功能模块设计
(图:功能模块设计图)
管理后台(管理员)
- 学生管理:管理员可以查询、添加、修改、删除学生信息,支持批量删除操作
- 老师管理:管理员可以查询、添加、修改、删除老师信息,支持批量删除操作
- 请假申请管理:管理员可以对学生的请假申请进行查询、审批通过、驳回操作,也可修改和删除记录
- 专业管理:管理员可以维护学校的专业信息,包括增删改查和批量操作
- 学院管理:管理员可以维护学院的增删改查操作
- 班级管理:管理员可以维护班级的增删改查操作
- 留言管理:管理员可以查看学生留言,进行回复、删除等操作
学生端
- 请假申请:学生可以提交请假申请,填写请假类型、起止时间、请假原因,选择所属学院/专业/班级
- 查看审批进度:学生可以查看自己提交的请假申请的审批状态(待审批/已通过/已驳回)
- 个人信息修改:学生可以修改自己的基本信息
- 留言板:学生可以在留言板发布留言,查看管理员回复
核心业务流程
学生提交请假申请 → 管理员/老师查看待审批列表 → 审批通过或驳回 → 学生查看审批结果 → 请假记录归档可查。
三、系统截图
管理后台
- 学生管理界面
(图:管理员对学生信息进行增删改查操作的数据表格页面) - 老师管理界面
(图:管理员对老师信息进行增删改查操作的数据表格页面) - 请假申请管理界面
(图:管理员查看请假列表,包含审批通过和驳回操作按钮) - 专业管理界面
(图:管理员对专业信息进行增删改查操作的数据表格页面) - 学院管理界面
(图:管理员对学院信息进行增删改查操作的数据表格页面) - 班级管理界面
(图:管理员对班级信息进行增删改查操作的数据表格页面) - 留言管理界面
(图:管理员查看留言列表,包含回复和删除操作按钮)
四、关键代码片段
1. 请假实体类(QingjiaEntity)
请假表是系统的核心数据表,字段涵盖学生、学院、专业、班级、请假类型、起止时间、审批状态和请假原因:
@TableName("qingjia")publicclassQingjiaEntity<T>implementsSerializable{privatestaticfinallongserialVersionUID=1L;@TableId(type=IdType.AUTO)privateIntegerid;// 主键privateIntegerxsTypes;// 学生privateIntegerxyTypes;// 学院privateIntegerzyTypes;// 专业privateIntegerbjTypes;// 班级privateIntegerqjTypes;// 请假类型@JsonFormat(locale="zh",timezone="GMT+8",pattern="yyyy-MM-dd")privateDatestartTime;// 开始时间@JsonFormat(locale="zh",timezone="GMT+8",pattern="yyyy-MM-dd")privateDatefinishTime;// 结束时间privateIntegerspTypes;// 审批状态(3:待审批 4:已通过 5:已驳回)privateStringnoticeContent;// 请假原因}2. 审批通过与驳回(QingjiaController)
管理员对请假申请的审批包含"通过"和"驳回"两个核心操作,通过修改spTypes状态字段实现:
/** * 驳回 */@RequestMapping("/reject")publicRreject(@RequestBodyLongid){QingjiaEntityqingjia=qingjiaService.selectById(id);if(qingjia!=null){qingjia.setSpTypes(5);// 5 = 已驳回qingjiaService.updateById(qingjia);returnR.ok();}returnR.error();}/** * 通过 */@RequestMapping("/transit")publicRtransit(@RequestBodyLongid){QingjiaEntityqingjia=qingjiaService.selectById(id);if(qingjia!=null){qingjia.setSpTypes(4);// 4 = 已通过qingjiaService.updateById(qingjia);returnR.ok();}returnR.error();}3. 核心数据表 —— 请假信息表(qingjia)
| 字段 | 类型 | 备注 |
|---|---|---|
| id | int(20) | 主键 |
| xs_types | tinyint(4) | 学生 |
| xy_types | tinyint(4) | 学院 |
| zy_types | tinyint(4) | 专业 |
| bj_types | tinyint(4) | 班级 |
| qj_types | tinyint(4) | 请假类型 |
| start_time | date | 开始时间 |
| finish_time | date | 结束时间 |
| sp_types | tinyint(4) | 审批状态 |
| notice_content | varchar(200) | 请假原因 |
审批状态码说明:3=待审批,4=已通过,5=已驳回。
五、配套材料清单
- ✅系统源码:SSM + HTML/CSS/JS,完整可运行
- ✅毕业论文:格式规范,查重率 < 20%
- ✅答辩PPT
- ✅开题报告
- ✅任务书
- ✅数据库脚本
- ✅部署说明文档
📌 完整源码+论文+PPT已打包,需要参考的同学通过文末微信二维码获取。
如需定制选题(SpringBoot / SSM / 微信小程序 / Python Django / Vue 均可),请添加微信沟通。
其他毕设案例持续更新中,欢迎关注本专栏。
#学生请假管理系统 #毕业设计 #SSM #Java #MySQL