
最新版 MySQL + MyBatis 版学生成绩管理系统来了
作者 |村雨遥
来源 | 今日头条
前言
之前写了一篇文章,是关于 Java SE 版本的学生成绩管理系统[1],发现反响还不错。同时也有不少小伙伴通过评论或者私信的方式问过有没有和数据库交互版本的学生成绩管理系统,然后自己也把这件事儿列入了自己的计划。害,都怪自己懒,所以一直拖到了现在。不过终究是逼迫自己完成了,也算是给私信和评论的小伙伴们一个交代吧。
同样的,本次和数据交互版本的学生成绩管理系统具有增删改查成绩等功能。不过相比于之前 SE 版本的功能做了点精简,少了两个小的功能点。因此此次版本的学生成绩管理系统主要分为如下功能:
- 录入学生成绩
- 查询单个学生成绩
- 查询所有学生成绩
- 更新学生成绩
- 删除学生成绩
- 退出管理系统
系统演示
主菜单
将我们的系统运行起来之后,应该有对应的系统菜单,然后可以根据我们的输入进行不同的操作。
录入学生成绩
进入录入学习成绩菜单后,会提示我们依次录入学号、年级、姓名、高数、英语、体育、Java、C++、政治、算法等科目的成绩,录入成功后进行下一次功能选择。
录入成绩流程
录入成绩结果
查找单个学生成绩
该功能主要通过我们所输入的学生学号,然后查询对应学号学生的成绩,如果查到则进行打印,如果没查到就进行提示。但无论是查询到成绩与否,都会进入下一次的功能选择。
查找对应学号的学生成绩
查询所有学生成绩
该功能可以查询当前数据库中的所有成绩,无论是否查询到成绩与否,都将进入下一次的功能选择。
查询所有成绩流程
更新学生成绩
该功能通过输入对应学号,然后如果找到对应学号的学生,则重新依次输入各科成绩,然后对数据库中的成绩进行更新。如果没有找到对应学号的学生,则进行提示。
更新学生成绩流程
删除学生成绩
该功能通过对应学号,然后删除对应学号的学生成绩,如果没有对应学号的学生,则进行提示。
删除学生成绩流程
功能设计与实现
与 SE 项目不同的是,本系统需要与数据库进行交互,所以这里选择使用 MyBatis 作为数据库交互框架。接下来我就对本系统的搭建过程做一个记录,留给有需要的小伙伴。
环境搭建
本项目主要采用 Maven 来构造,而 IDE 则采用的是最新版的 IntelliJ IDEA。所以首要工作就是搭建一个 Maven 工程,因为之前我已经写过相关的文章了,所以这里就不再啰嗦了,如果你还对创建 Maven 工程不太熟悉,可以参考: 如何使用 IDEA 创建 Maven 项目[2]。
POM 文件
要实现本项目,主要需要以下依赖,所以我们需要在项目的 pom.xml 文件引入对应依赖。
- MyBatis
- Lombok
- MySQL 驱动
这里你可能对 Lombok 比较陌生,它主要是为了简化我们的代码而使用,所以也推荐大家了解下。对于 Lombok 的简单使用,我之前特意写了一篇相关文章,如果有感兴趣的小伙伴,可以去了解一下。传送门 :
Lombok 安装及使用指南[3]
数据库准备
既然要把数据存入数据库,那肯定得准备下数据库。关于数据库的安装以及环境搭建,可以去网上找个教程看一下,我这里的化只提供创建表的数据脚本。
MyBatis 配置
既然要使用 MyBatis,那肯定少不了对它配置一番。这里呢,主要需要配置 MyBatis 的核心配置文件以及设置一个工具类。然后添加对数据库进行增删改查的接口,方便后边使用。如果你对 MyBatis 不是很熟悉,建议先去了解下,关于更多 MyBatis 的使用方法,可以参考我之前写的一些文章:MyBatis 专栏[4]。
MyBatis 配置文件
在项目的 main/resources 文件夹下创建一个文件,命名为 mybatis-config.xml,在这里主要是配置数据库连接。
MyBatis 工具类
为了方便后续各个方法的调用,推荐大家先配置一个 MyBatis 的工具类,免去一些重复建立连接操作。
设计接口
映射 SQL 文件
记得上面 MyBatis 配置中的 XML 存放路径么,那就是我们用来映射 SQL 的文件。一般我们是在 resource 下新建一个 mapper 目录,然后在 mapper 目录中创建用于映射接口的 SQL 文件。
主类设计
系统主要是针对学生成绩信息管理,所以主要涉及的是一个学生类。
主界面
主界面主要是打印出系统功能菜单,然后根据我们的指令进入不同的子功能模块。
录入学生成绩
首先录入学号,判断是否可用,不可用则重新输入,可用则继续输入后续其他信息。
然后将信息赋值到学生对象,最后将该学生对象插入数据库就可以了。
查询单个学生成绩
先判断数据库中是否有数据,有数据则进行后续操作。通过对输入的学号进行查询,从数据库中找到对应学号的学生成绩。
查询所有学生成绩
先判断是否有数据,有数据再进行后续操作。从数据库中查询所有数据,接着打印各个学生的成绩信息即可。
修改学生成绩
先判断是否有数据,有数据再进行后续操作。通过对输入的学号进行匹配,找到对应学号的学生,然后对其成绩信息进行修改,但不修改个人其他信息。
删除学生成绩
先判断是否有数据,有数据再进行后续操作。然后通过对输入的学号进行匹配,找到对应学号的学生,然后将其从数据库中删除即可。
总结
以上就是关于本次数据库版本学生成绩管理系统的相关设计的所有内容了,相信读到这里的小伙伴应该也能够顺利完成本次的课程设计了。
