# 基于SpringBoot的学生信息管理系统
## 技术栈
SpringBoot
Spring Data JPA (不用)(Mybatis Plus)
BootStrap4 (不用)(自定义css,js)
Thymeleaf
Mysql
依赖管理工具: Maven(原定为Gradle)
最终技术栈: SpringBoot + MybatisPlus + Thymeleaf + Mysql + js + html + css
esayExcel
## 项目架构
打包方式: jar包(SpringBoot支持jar包运行方式,而不用打成war包)
架构: B/S
jdk: 11.0.3(LTS)
IDE: IDEA 2019.2
SpringBoot: 2.2.0 RELEASE
Mysql: 8.0.18
## 概要设计
### 思维导图
![eduM](https://github.com/yeahQing/ASAM-Manager/blob/master/images/eduM.png)
### 数据字典
## 项目功能
### 角色
管理员、学生、教师
### 实体类
管理员、学生、教师、院校、课程
### 功能
管理员:
———— 学生信息管理
——基本信息管理(学号、姓名、年龄、性别、籍贯、政治面貌、在校担任职位、手机号、所在院校、入学时间、毕业时间等)
——选课管理(学号、课程号、成绩))
———— 教师信息管理
——基本信息管理(教职工编号、姓名、年龄、职称、所在院校)
——课程管理(教职工编号、课程号)
———— 课程信息管理
——学时、学分设置
——开课时间
———— 院校信息管理(院校编号、学校名称、学院名称)
————管理员管理
——权限设置
——修改密码
————按权限登录,显示不同视图
### 数据字典
用户表
用户id 用户名 密码 角色(0,1,2)分别代表
学生表
教职工表
职工号 教师姓名 职称 学历 研究方向 所属学院
管理员表
课程表
学生课程表
## 基本模块
### 1. 登录模块(完成)
涉及表: 用户表、角色表、用户角色关联表
逻辑:
1. 启动StuApplication,程序访问IndexController中的RequestMapping("/"),通过@GetMapping访问index.html页面,进行登录操作。
2. 用户输入用户名及其密码,用户名为用户的id,将表单提交到IndexController下的RequestMapping("/login").
3. 首先进行用户是否存在的验证,如果查询结果为空,那么向request域中写入属性error,返回登陆界面
4. 如果用户存在,那么根据用户id查询对应的角色,根据角色id,跳转到对应的角色路由。
5. 通过url携带的角色id,查询该角色对应的菜单信息,并封装成集合,返回Main页面显示。
6. 通过角色动态生成菜单,因此只需要写一个main页面,即可显示不同角色的信息,减少了工作成本。
### 2. 动态菜单功能(完成)
左侧导航菜单项根据角色显示不同的内容。
目前有三种角色: 管理员、学生、教师
动态菜单可以扩展
目前只有管理员可以进行菜单的管理**(功能正在开发)**
### 3.管理员功能(完成):
> 目前遇到的问题: JPA采用native query的查询方式,会造成性能降低,查询速度极慢,因此决定更换持久化框架为mybatis
#### 一、学生管理
1. **批量导入学生信息功能(完成)**
批量导入学生信息,采用导入Excel文件的形式,项目使用easyExcel作为poi工具,Excel需要为固定格式,首先将读取到的内容封装到学生实体集合中,将每个学生实体写入数据库tbl_stu,之后通过学号和身份证号,封装用户实体,将用户写入数据库tbl_user,之后将用户id与角色id写入到数据库tbl_user_role
2. **批量导入学生信息加载动画效果(完成)**
由于导入excel时间比较长,因此需要给用户一个加载动画的提示
3. **学生列表的显示(完成)**
采用jpa Pagable实现分页查询
4. **学生列表中的编辑和删除功能(完成)**
已经实现了
5. **学生选课信息的显示**
(例如: 学生XXX 在 周一 上午 第一节到第三节 教A301 计算机导论课程 赵志燕授课 学分3 课时48 考试类型 闭卷考试 )
6. **学生选课**: 学生可以查看当前开设的课程列表,可以选择课程(每个学生有选课上限),可以退课
> 管理员可以通过查询学号的方式,查看某一个学生的选课信息
所需技术: 分页、excel表格导入
涉及表: tbl_user、tbl_stu、tbl_user_role
#### 二、 菜单管理(完成)
#### 三、教师管理(完成)
1. **批量导入教师信息功能**
2. **教师列表的显示**
3. **批准教师开设课程**
4. **教师列表中的编辑和删除功能**
> 教师可以给学生的课程打分
#### 四、课程管理(完成)
1. **批量导入课程信息功能(该功能目前只能由教师申请)**
2. **课程列表的显示(改为课程搜索)**
搜索某一个课程,按照课程名称或者教师名称,模糊查询
3. **课程的编辑和删除功能(暂时不做,审核不通过,让教师重新申请)**
4. **搜索课程**
5. **审核课程**
#### 权限设置(完成)
### 4.学生功能
#### 一、学生基本信息展示(完成)
#### 二、学生基本信息修改(完成)
#### 三、学生选课(完成)
#### 四、学生修改密码(完成)
#### 五、学生首页信息展示(完成)
### 5.教师功能
#### 一、教师基本信息展示(完成)
#### 二、教师基本信息修改(完成)
#### 三、教师开设课程(完成)
#### 四、教师课程审计(完成)
#### 五、教师修改密码(完成)
#### 六、教师首页信息展示(完成)
### 目前出现的问题
分页信息在无信息的情况下显示0
## 从JPA迁移到MybatisPlus(顺利完成,已经脱离JPA)
### Mapper层接口迁移
#### 1. 用户实体类mapper层测试
### 已经迁移成功的功能
#### 管理员->学生部分:
1. 修改学生信息
2. 删除学生信息
3. 分页查询学生信息并显示
4. Excel导入学生信息
#### 管理员->核心模块:
1. 统一的登录注销接口
2. 首先信息的动态显示
3. 动态菜单的实现
#### 管理员->教师部分:
1. 修改教师信息
2. 删除教师信息
3. 分页查询教师信息并显示
4. Excel导入教师信息
#### 管理员->课程部分:
1. 修改课程信息
2. 删除课程信息
3. 分页查询课程信息并显示
4. Excel导入课程信息
#### 管理员->设置:
1. 修改密码(修改完成后需要重新登录)
### 未完成的功能
学生用户功能(已完成菜单设计)
1. 首页 0 (选修课程数、及格课程数、未及格课程数)
2. 基本信息 0 (基本信息的显示和部分修改)
-> 学生信息
3. 选修课程 0 (选修课程/取消选择)
-> 已选课程
-> 待选课程
4. 设置 0
-> 修改密码
5. 退出登录 0
教师用户功能(已完成菜单设计)
1. 首页 0 (开设课程数、已打分课程、尚未打分课程)
2. 基本信息 0 (基本信息的显示和部分修改)
-> 教师信息
3. 课程管理 0
-> 开设课程
-> 课程审计
4. 设置 0
-> 修改密码
5. 退出登录 0
学生选课功能
教师申请开设课程功能
教师录入课程分数功能
管理员搜索学生选课信息功能
管理员搜索教师开课信息功能
管理员批准教师开课功能
### 学生选课功能设计
学生课程VO
学生课程表
id 自增
lessonId 课程id
stuId 学生id
score 分数
state 选课状态 (默认可以选择: 0 ,选课后: 1, 不能选课: 2)
### 教师申请开课功能设计
教师课程VO
id 教师课程表自增id
teacherId 教师id
lessonId 课程id(自动生成 L+时间2019年11月03日22点17分33秒) 例如 L20191103221733
date 申请时间
state 申请状态(管理员修改状态 0: 待审核, 1: 审核通过,2: 审核未通过)
首先教师创建课程,课程创建成功后,课程的信息记录到课程表中,课程id写入到教师课程表中,
### 管理员审核课程功能设计
只有管理员审核通过(教师课程表中课程状态为1课程才�
没有合适的资源?快使用搜索试试~ 我知道了~
java毕业设计 基于SpringBoot+Mybatis的教务系统的设计与实现+详细文档+全部资料(优秀项目).zip
共110个文件
java:46个
html:24个
css:10个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 180 浏览量
2024-04-17
10:46:40
上传
评论
收藏 2.02MB ZIP 举报
温馨提示
【资源说明】 java毕业设计 基于SpringBoot+Mybatis的教务系统的设计与实现+详细文档+全部资料(优秀项目).zipjava毕业设计 基于SpringBoot+Mybatis的教务系统的设计与实现+详细文档+全部资料(优秀项目).zip 【备注】 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如软件工程、计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载使用,也可作为毕设项目、课程设计、作业、项目初期立项演示等,当然也适合小白学习进阶。 3、如果基础还行,可以在此代码基础上进行修改,以实现其他功能,也可直接用于毕设、课设、作业等。 欢迎下载,沟通交流,互相学习,共同进步!
资源推荐
资源详情
资源评论
收起资源包目录
java毕业设计 基于SpringBoot+Mybatis的教务系统的设计与实现+详细文档+全部资料(优秀项目).zip (110个子文件)
mvnw.cmd 6KB
all.css 69KB
layout.css 3KB
tableStyle.css 3KB
upload.css 2KB
confirm.css 2KB
style.css 2KB
error.css 2KB
edit.css 1KB
welcome.css 736B
dashboard.css 694B
fa-solid-900.eot 188KB
fa-brands-400.eot 128KB
fa-regular-400.eot 34KB
.gitattributes 96B
.gitignore 333B
editLesson.html 6KB
openLesson.html 5KB
main.html 4KB
importStudents.html 4KB
editTeacher.html 4KB
importTeachers.html 4KB
lessonInfo.html 4KB
teacherInfo.html 3KB
teacherList.html 3KB
auditLesson.html 3KB
lessonList.html 3KB
studentList.html 3KB
addLessonScore.html 3KB
editStudent.html 3KB
studentInfo.html 3KB
lessonInfoList.html 2KB
modifyPassWord.html 2KB
auditLesson.html 2KB
selectedLessonList.html 2KB
dashboard.html 2KB
dashboard.html 1KB
dashboard.html 1KB
login.html 1KB
error.html 402B
maven-wrapper.jar 47KB
AdminController.java 8KB
TeacherController.java 6KB
MavenWrapperDownloader.java 5KB
StudentController.java 5KB
LessonServiceImpl.java 3KB
LessonMapper.java 3KB
MenuController.java 3KB
UserController.java 3KB
TeacherExcelListener.java 2KB
StudentMapperTest.java 2KB
TeacherServiceImpl.java 2KB
StudentExcelListener.java 2KB
ErrorController.java 2KB
Teacher.java 2KB
StudentServiceImpl.java 2KB
UserServiceImpl.java 2KB
LessonMapperTest.java 2KB
Student.java 2KB
Lesson.java 2KB
LessonInfoVo.java 1KB
UserMapperTest.java 1KB
MenuGenerator.java 1KB
Menu.java 1KB
MenuServiceImpl.java 1KB
TeacherMapper.java 1KB
MenuRoleVo.java 1KB
LessonService.java 1KB
MybatisPlusConfig.java 1KB
StuLessonVo.java 1KB
UserRoleVo.java 1005B
TeacherLessonVo.java 1000B
StudentMapper.java 978B
User.java 952B
MenuMapper.java 935B
TeacherService.java 872B
TeacherMapperTest.java 826B
StudentService.java 799B
Role.java 740B
UserMapper.java 650B
UserService.java 541B
MenuService.java 523B
RoleServiceImpl.java 499B
EduApplicationTests.java 479B
Application.java 373B
RoleMapper.java 237B
RoleService.java 184B
jquery-3.4.1.js 274KB
jquery.waypoints.js 17KB
jquery.counterup.js 3KB
confirm.js 2KB
README.md 8KB
mvnw 9KB
eduM.png 611KB
maven-wrapper.properties 116B
fa-solid-900.svg 823KB
fa-brands-400.svg 684KB
fa-regular-400.svg 141KB
fa-solid-900.ttf 188KB
fa-brands-400.ttf 128KB
共 110 条
- 1
- 2
资源评论
不走小道
- 粉丝: 3339
- 资源: 5059
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- C语言-leetcode题解之83-remove-duplicates-from-sorted-list.c
- C语言-leetcode题解之79-word-search.c
- C语言-leetcode题解之78-subsets.c
- C语言-leetcode题解之75-sort-colors.c
- C语言-leetcode题解之74-search-a-2d-matrix.c
- C语言-leetcode题解之73-set-matrix-zeroes.c
- 树莓派物联网智能家居基础教程
- YOLOv5深度学习目标检测基础教程
- (源码)基于Arduino和Nextion的HMI人机界面系统.zip
- (源码)基于 JavaFX 和 MySQL 的影院管理系统.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功