一个基于 Spring Boot + MyBatis + MySQL + 原生前端页面 的教学型学生管理系统,支持账号注册登录、身份绑定、学生/教师资料查询与维护,以及基于角色的权限控制。
HttpSession维护登录态ADMIN / USER双角色权限控制- 普通用户支持绑定
STUDENT / TEACHER身份 - 管理员可维护用户、学生、教师信息
- 教师可查看学生信息
- 支持学生成绩查询与成绩维护
- 支持成绩请求提交与管理员铃铛审批
- 提供前端控制台页面,适合演示完整业务流
- 附带请求通知系统设计文档,便于继续扩展铃铛消息中心
- 后端:Spring Boot 3.x
- 持久层:MyBatis
- 数据库:MySQL
- 前端:HTML + CSS + JavaScript
- 构建工具:Maven
- 普通用户注册
- 用户登录 / 退出登录
- 基于 Session 的登录态恢复
- 普通用户可绑定学生工号
- 普通用户可绑定教师工号
- 一个工号只能绑定一个账号
ADMIN- 查看全部用户
- 查看全部学生
- 查看全部教师
- 查看全部成绩
- 修改用户角色与绑定
- 新增 / 修改 / 删除学生
- 新增 / 修改教师
- 新增 / 修改成绩
- 查看铃铛消息并处理请求
USER + STUDENT- 查看自己的学生资料
- 查看自己的成绩
- 提交成绩复核请求
USER + TEACHER- 查看自己的教师资料
- 查看学生列表
- 查看学生成绩
- 新增 / 修改成绩
- 提交成绩更正请求
用于统一进入系统,支持普通用户注册和管理员快捷登录。
管理员可查看账号统计、用户列表、学生信息表、教师信息表,并通过右侧表单维护资料。
教师登录后可查看自己的教师资料,同时查看学生列表。
- 认证与登录
- 注册、登录、退出、Session 恢复
- 身份绑定
- 绑定学生 / 教师工号
- 学生管理
- 管理员增删改查
- 教师查看学生信息
- 学生查看自己的资料
- 教师管理
- 管理员增改查
- 教师查看自己的资料
- 成绩管理
- 管理员查看 / 新增 / 修改成绩
- 教师查看 / 新增 / 修改成绩
- 学生查看自己的成绩
- 请求与通知
- 学生提交成绩复核请求
- 教师提交成绩更正请求
- 管理员铃铛查看未读数
- 管理员查看请求详情并审批
src/main/java/com/example/demo
├── common # 通用返回体、工具类
├── controller # 控制器
├── dto # 请求 DTO
├── entity # 实体类
├── exception # 业务异常与全局异常处理
├── mapper # MyBatis Mapper 接口
└── service # 业务逻辑
src/main/resources
├── mapper # MyBatis XML
├── static # 前端页面资源
├── application.properties
├── schema.sql
└── data.sql
项目默认连接本地 MySQL:
spring.datasource.url=jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Shanghai&useSSL=false
spring.datasource.username=root
spring.datasource.password=123456请确保:
- 本地已启动 MySQL
- 存在
test数据库 - 用户名密码与配置一致
项目启动时会自动执行:
schema.sqldata.sql
默认会生成:
- 学生测试数据
- 教师测试数据
- 管理员账号:
admin / admin123
mvn spring-boot:run启动成功后访问:
http://localhost:8080
POST /auth/registerPOST /auth/loginGET /auth/mePOST /auth/bindPOST /auth/logout
GET /studentsGET /students/{id}GET /students/mePOST /studentsPUT /students/{id}DELETE /students/{id}
GET /teachersGET /teachers/{id}GET /teachers/mePOST /teachersPUT /teachers/{id}
GET /scoresGET /scores/{id}GET /scores/mePOST /scoresPUT /scores/{id}
POST /requestsGET /requests/myGET /requests/my/{id}GET /admin/notifications/unread-countGET /admin/requestsGET /admin/requests/{id}PUT /admin/requests/{id}/readPUT /admin/requests/{id}/handle
GET /usersPUT /users/{id}
- 增加学生成绩模块,包括成绩表、查询接口和维护接口
- 补充教师 / 学生 / 管理员三种视角下的成绩展示
- 实现成绩请求提交与“我的请求”列表
- 实现管理员顶部铃铛未读数、请求列表、详情和审批处理
- 补充项目结构与功能文档
项目已补充“请求提交 + 管理员铃铛通知 + 详情页处理”的设计文档:
适合继续扩展:
- 请求审批流
- 管理员消息中心
- 顶部铃铛未读数
- 我的请求记录
管理员:admin / admin123
这是一个非常适合课程实验、权限系统练习、Spring Boot + MyBatis 入门演示的项目。当前版本已经具备清晰的角色划分、基础数据维护能力和可直接展示的前端管理台。


