共计1591个字符,预计需要花费4分钟才能阅读完成。
下载地址
GitHub:https://github.com/mcdudu233/StudentManagementSystem.git
别忘记给颗 Star 哦~
项目概要
简述
本项目基于 Spring Boot 架构和 MySQL 数据库,实现对于学生管理系统功能的基本实现。由于时间的限制,我们采用了前后端不分离的技术来快速完成学生管理系统的所有功能。
-
前端我们采用了 HTML、CSS、JS 和 BootStrap 等框架或者语言来编写前端网页,然后用 Thymeleaf 进行模板渲染。
-
后端我们使用 JAVA17 作为语言环境,然后采用 SpringBoot 作为框架来处理 MVC 的关系。对于 M(Model),我们创建了 entity 包来储存各类 javabean;对于 V(View),我们用 Thymeleaf 进行渲染;对于 C(Controller),我们创建了 controller 包来储存各类前后端处理的类。此外,我们还是用了 MySQL 作为数据库,各类 SQL 语句存储在 Mapper 包下。
界面
以下是部分界面的截图~



架构

设计方法
基于 MVC 框架的网页版学生管理系统
运用 SpringBoot 框架实现 MVC 框架。前端采用 Thymeleaf 模板渲染引擎,使用的语言及框架为 HTML、JS、CSS 和 BootStrap。后端采用 SprintBoot 框架,使用 JAVA17 语言,MYSQL(MariaDB)作为数据库储存数据。
设计模式采用 MVC(Model-View-Controller):
- 模型层(Model):负责数据逻辑和数据库操作;
- 视图层(View):通过 Thymeleaf 渲染动态页面;
- 控制器层(Controller):负责用户输入处理及服务层逻辑调用。
设计过程
1. 设计数据库和类
为了实现上述的所有功能,我们从最基础的数据库开始设计。我们创建了用户、学生、教师、课程、成绩、班级、学生课程表和公告表。以 student 表为例,实现了 SQL 语句:

其他 SQL 文件我们都储存在 resource 文件夹下的 sql 文件夹下:

根据数据库的设计,为了简化,我们实体类也采用相同的格式,且用 @Data 等注解来替代 getter、setter 和 toString()等等方法。例如 student 类:

同样,其他实体类也是类似的。我们将这些实体类统一放到主包下的 entity 包下:

2. 数据操作
为了对数据库中的数据进行操作,我们必须实现服务类。首先我们创建了 Mapper 来处理查询语句,语句的查询我们采用的 Mybatis 带的注解,如 @Select、@Insert 和 @Delete 等的注解。例如 StudentMapper:

类似的,为了方便管理,我们将这些接口统一放到主包下的 Mapper 包下:

接着,我们还要提供服务类对这些语句进行操作,例如 StudentService 和 StudentServiceImpl 分别为学生服务的接口和学生服务的实现类:


同样的,放到主包下的 service 包下:

3. 控制层设计
为了联系前端页面和后端的数据,我们增加了控制层,例如 MainController(主页的控制):

Controller 层还调用了 Service 服务来联系前后端的数据。类似,我们将他们放到主包的 controller 包下:

4. 页面设计
由于这里不涉及到 java 的知识,这里仅展示。网页资源放在了 resource 资源文件夹下的 static 文件夹,网页页面放到了 resource 资源文件夹下的 templates 文件夹。

展示
1. 管理员登录实况:
主页:

用户管理面板:

管理员可以编辑成员

学生管理面板:

管理员也可以编辑学生

老师管理面板:

可以编辑修改老师信息

设置界面

还有退出登录功能

2. 老师登录实况:

我上的课面板

学生管理面板

成绩管理面板(可以修改学生成绩)

3. 学生登录实况

选课面板(可以进行选课,且不可以重复选相同的课)



我的课表面板(显示当前账号的课表)

我的成绩面板(显示课程成绩)
