基于Java和Mysql的学生成绩管理系统(毕业设计 附完整代码)

本文涉及的产品
RDS Agent(兼容OpenClaw),2核4GB
RDS MySQL DuckDB 分析主实例,集群系列 4核8GB
RDS MySQL DuckDB 分析主实例,基础系列 4核8GB
简介: 基于Java和Mysql的学生成绩管理系统(毕业设计 附完整代码)

相关技术介绍


  • 开发环境:Windows 10
  • 数据库管理系统:Mysql
  • 开发工具:Intel IDEA
  • 运行环境:Windows 10以及更高版本

二、系统需求分析


2.1 业务流程


用户登陆到系统后,在本系统中可以选择进行考试成绩录入、补考成绩录入、重修成绩录入,或查看总评成绩单、补考通知单、补考成绩单、重修通知单、重修成绩单、优秀学生名单等…

2.2 功能需求


  • 用户能够登入本系统
  • 用户可以在系统中录入考试成绩
  • 用户可以在系统中录入补考成绩
  • 用户可以在系统中录入重修成绩
  • 用户可以在系统中查看总评成绩单
  • 用户可以在系统中查看补考通知单
  • 用户可以在系统中查看补考成绩单
  • 用户可以在系统中查看重修通知单
  • 用户可以在系统中查看重修成绩单
  • 用户可以在系统中查看优秀学生名单


2.3 信息需求


  • 进行成绩录入时不允许存在列值为空
  • 进行成绩录入时需保证学生学号、姓名、选课的一致性


2.4 安全性与完整性需求


数据库上信息的安全性由数据库管理系统进行保证,完整性则主要由编程语句来体现。


2.5 数据字典


image.png

image.png


2.6 系统结构



7c94add00394f5768aee1df84ba6bf03.png


各模块功能说明:

  • 系统登录:该系统使用时需登录
  • 成绩录入:用于录入各类成绩
  • 考试成绩录入:用于登录入考试成绩及平时成绩
  • 补考成绩录入:用于录入补考成绩
  • 重修成绩录入:用于录入重修成绩
  • 信息查询:用于查询各种信息
  • 总评成绩:用于输出总评成绩。其中:总评成绩=30%*平时成绩+70*考试成绩
  • 补考通知单:用于输出补考名单,即总评成绩不到60分的学生
  • 补考成绩单:用于输出补考学生的成绩
  • 重修通知单:用于输出重修名单,及总评成绩 < 60且补考成绩也 < 60的学生
  • 重修成绩单:用于输出重修学生的成绩
  • 优秀学生名单:用于输出优秀学生。及该学生每科总评成绩均大于60
  • 退出系统:退出系统

三、概念模型设计


E-R图



961c1446437beb83c71c0a5d938b4b23.png



四、逻辑结构设计


学生信息表(学号,姓名,性别,班级,专业)

  • 主键:学号
  • 外键:无
  • 非空:学号、姓名


选课表(学号,课程号,课程名)

  • 主键:无
  • 外键:学号、课程号
  • 非空:学号、课程号


课程表(课程号,课程名,课程学分,上课时间)

  • 主键:课程号
  • 外键:无
  • 非空:课程号,课程名


成绩表(学号,课程号,课程名,平时成绩,考试成绩,补考成绩,重修成绩,总评成绩)

  • 主键:无
  • 外键:学号、课程号
  • 非空:无

五、物理结构设计


建立数据库表

下面使用Mysql可视化工具Navicate进行建库、建表操作。



14eeb8026ddbb4189701d0b776d011f0.png


六、数据库连接与应用


6.1 Java中通过JDBC连接数据库


关键代码如下:

static{try{if(conn==null){Class.forName(driver).newInstance();conn=DriverManager.getConnection(dbUrl,dbUser,dbPwd);}}catch(ClassNotFoundExceptione){e.printStackTrace();JOptionPane.showMessageDialog(null,"数据库连接异常!");System.exit(0);}catch(Exceptione){e.printStackTrace();}}

6.2 数据库的运行与维护


登录界面

8ef840bcc3f3c0e8685bfbb8d28a9637.png

主界面


52a3329d9855ccc1b2915c0775edbe5e.png


选择界面


0bcf291e34b14bf33cb2e08d524316b3.png


信息查询界面


f5e37bca7aa12817bf81e2dc48fe1b53.png


查询的SQL语句如下:

Stringsql="select student.s_no,student.s_name,score.c_name "+"from student,score "+"where student.s_no=score.s_no and score.final_score<60";


考试成绩录入


afbde31d3f2024cd7e280b7d0b99b50a.png

录入的SQL语句如下:

Stringsql="Insert "+"into score(s_no, c_no, c_name, ord_score, exam_score, final_score) "+"values(?, ?, ?, ?, ?, ?)";


七、收获与体会


通过本次的数据库课程设计,我进一步的了解了数据库的开发和使用,与看课本学习不同的是,这次是动手实践去做,而不仅仅局限于课本上的理论知识,更加进一步加深了对数据库的理解,同时也对Java语法、JDBC使用更加熟练。

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。 &nbsp; 相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情:&nbsp;https://www.aliyun.com/product/rds/mysql&nbsp;
相关文章
|
7月前
|
设计模式 消息中间件 传感器
Java 设计模式之观察者模式:构建松耦合的事件响应系统
观察者模式是Java中常用的行为型设计模式,用于构建松耦合的事件响应系统。当一个对象状态改变时,所有依赖它的观察者将自动收到通知并更新。该模式通过抽象耦合实现发布-订阅机制,广泛应用于GUI事件处理、消息通知、数据监控等场景,具有良好的可扩展性和维护性。
552 8
|
7月前
|
移动开发 监控 小程序
java家政平台源码,家政上门清洁系统源码,数据多端互通,可直接搭建使用
一款基于Java+SpringBoot+Vue+UniApp开发的家政上门系统,支持小程序、APP、H5、公众号多端互通。涵盖用户端、技工端与管理后台,支持多城市、服务分类、在线预约、微信支付、抢单派单、技能认证、钱包提现等功能,源码开源,可直接部署使用。
524 24
|
7月前
|
安全 前端开发 Java
使用Java编写UDP协议的简易群聊系统
通过这个基础框架,你可以进一步增加更多的功能,例如用户认证、消息格式化、更复杂的客户端界面等,来丰富你的群聊系统。
281 11
|
7月前
|
机器学习/深度学习 人工智能 自然语言处理
Java与生成式AI:构建内容生成与创意辅助系统
生成式AI正在重塑内容创作、软件开发和创意设计的方式。本文深入探讨如何在Java生态中构建支持文本、图像、代码等多种生成任务的创意辅助系统。我们将完整展示集成大型生成模型(如GPT、Stable Diffusion)、处理生成任务队列、优化生成结果以及构建企业级生成式AI应用的全流程,为Java开发者提供构建下一代创意辅助系统的完整技术方案。
374 10
|
7月前
|
人工智能 监控 Java
Java与AI智能体:构建自主决策与工具调用的智能系统
随着AI智能体技术的快速发展,构建能够自主理解任务、制定计划并执行复杂操作的智能系统已成为新的技术前沿。本文深入探讨如何在Java生态中构建具备工具调用、记忆管理和自主决策能力的AI智能体系统。我们将完整展示从智能体架构设计、工具生态系统、记忆机制到多智能体协作的全流程,为Java开发者提供构建下一代自主智能系统的完整技术方案。
943 4
|
7月前
|
机器学习/深度学习 分布式计算 Java
Java与图神经网络:构建企业级知识图谱与智能推理系统
图神经网络(GNN)作为处理非欧几里得数据的前沿技术,正成为企业知识管理和智能推理的核心引擎。本文深入探讨如何在Java生态中构建基于GNN的知识图谱系统,涵盖从图数据建模、GNN模型集成、分布式图计算到实时推理的全流程。通过具体的代码实现和架构设计,展示如何将先进的图神经网络技术融入传统Java企业应用,为构建下一代智能决策系统提供完整解决方案。
620 0
|
8月前
|
JavaScript Java 大数据
基于JavaWeb的销售管理系统设计系统
本系统基于Java、MySQL、Spring Boot与Vue.js技术,构建高效、可扩展的销售管理平台,实现客户、订单、数据可视化等全流程自动化管理,提升企业运营效率与决策能力。
java中获取当前系统日期
java中获取当前系统日期
JAVA 获取系统日期时间
JAVA 获取系统日期时间
430 0
|
Java 应用服务中间件
JAVA 取系统当前日期 少8个小时
        Date now = new Date();          DateFormat data = newjava.text.
930 0

推荐镜像

更多