java学生成绩管理信息系统

news2025/1/11 20:06:25

一、 引言

学生成绩管理信息系统是一个基于Java Swing的桌面应用程序,旨在方便学校、老师和学生对学生成绩进行管理和查询。本文档将提供系统的详细说明,包括系统特性、使用方法和技术实现。

二、 系统特性

2.1 学生管理

添加学生信息:录入学生基本信息,包括学号、姓名、班级等。
编辑学生信息:修改学生已有信息,确保数据的准确性。
删除学生信息:从系统中移除不再需要的学生记录。

2.2 成绩管理

添加成绩记录:输入学生的考试成绩,包括科目和分数。
编辑成绩记录:修改学生的考试成绩,确保数据的实时性。
删除成绩记录:从系统中删除不正确或不需要的成绩数据。

2.3 查询与统计

查询学生成绩:通过学号或姓名查询学生的考试成绩。
班级成绩统计:按照班级对成绩进行统计和分析。
科目成绩排名:查看某一科目的成绩排名。

2.4不一一列举

三、 技术实现

3.1 Java Swing GUI

系统使用Java Swing作为图形用户界面(GUI)的开发工具,提供直观的操作界面,包括表格、按钮和文本框等组件。

3.2 MVC 架构

系统采用MVC(Model-View-Controller)架构,将数据逻辑、用户界面和用户输入分离,提高系统的可维护性和可扩展性。

四、数据库

这是一个简单的学生成绩管理系统的MySQL数据库表结构。以下是每个表的简要说明:

  1. course 表:

    • 存储课程信息。
    • 字段:
      • cno: 课程编号 (Primary Key)
      • cname: 课程名称
    • 记录:
      • 三个课程的信息。
  2. grade 表:

    • 存储学生成绩信息。
    • 字段:
      • cno: 课程编号 (Foreign Key)
      • sno: 学生编号 (Foreign Key)
      • core: 成绩
    • 记录:
      • 一个学生的一个课程的成绩记录。
  3. student 表:

    • 存储学生信息。
    • 字段:
      • sno: 学生编号 (Primary Key)
      • sname: 学生姓名
      • classes: 班级
    • 记录:
      • 一个学生的信息。
  4. user 表:

    • 存储系统用户信息,用于登录。
    • 字段:
      • username: 用户名 (Primary Key)
      • password: 密码
    • 记录:
      • 包含两个用户的登录信息,一个是学生,另一个是管理员。

这些表之间通过外键关联,例如 course 表中的 cnograde 表中的外键,关联学生成绩和课程信息。在 grade 表中,snocno 共同构成主键,确保每个学生在每门课程上只有一条记录。

如果有进一步的问题或需要特定信息,请提出。

五、程序截图

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

六、代码

StudentUpdate.java

package com.scm;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ResourceBundle;

public class DBUtils {
	private static String driverClass;
	private static String url;
	private static String username;
	private static String password;
	static{
		ResourceBundle bundle = ResourceBundle.getBundle("dbinfo");
		 driverClass = bundle.getString("driverClass");
		 url=bundle.getString("url");
		 username=bundle.getString("username");
		 password=bundle.getString("password");
		try {
			
			Class.forName(driverClass);
		} catch (ClassNotFoundException e) {
			e.printStackTrace();
		}
	}

	public static Connection getConnection(){
		try {
			return DriverManager.getConnection(url, username, password);
		} catch (SQLException e) {
			e.printStackTrace();
			return null;
		}
	}
	//�ر���Դ
	public static void closeAll(ResultSet rs,Statement stmt,Connection conn){
		if(rs!=null){
			try {
				rs.close();
			} catch (SQLException e) {
				e.printStackTrace();
			}
		}
		if(stmt!=null){
			try {
				stmt.close();
			} catch (SQLException e) {
				e.printStackTrace();
			}
		}
		if(conn!=null){
			try {
				conn.close();
			} catch (SQLException e) {
				e.printStackTrace();
			}
		}
	}
}

User.java

package com.scm;


public class User {

	private String username;
	private String password;
	public User(){}
	public User(String username, String password) {
		super();
		this.username = username;
		this.password = password;
	}
	public String getUsername() {
		return username;
	}
	public void setUsername(String username) {
		this.username = username;
	}
	public String getPassword() {
		return password;
	}
	public void setPassword(String password) {
		this.password = password;
	}
	
}

七、联系与交流

q:969060742 文档、完整代码、sql

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1058586.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

基于SSM农产品商城系统

基于SSM农产品商城系统的设计与实现,前后端分离,文档 开发语言:Java数据库:MySQL技术:SpringSpringMVCMyBatisVue工具:IDEA/Ecilpse、Navicat、Maven 系统展示 农产品列表 产品详情 个人中心 登陆界面 管…

gici-open示例数据运行(1.1开阔环境数据运行)

1、配置数据和处理模式 下载对应的数据集后,首先处理1.1中的开阔环境下数据,将option目录下的配置文件复制到1.1数据目录下(若采用ROS编译,则配置文件目录为ros_wrapper/src/gici/option/ros real time estimation xxx.yaml&…

Fiddle日常运用手册(2)-使用过滤器进行接口精准拦截

关于Fiddle的基础界面大家已经了解,日常工作中可以进行简单的抓包和数据分析了。 但是,工作中我们又会发现,单纯的进行批量抓包会抓取很多无效的心跳接口数据导致让我们漏掉一些重要信息。那么如果我们想精准的拦截某一个IP的接口交互数据&am…

231003-四步MacOS-iPadOS设置无线竖屏随航SideCar

Step 0:MacOS到iPad无线竖屏随航显示,最终效果 Step 1: 下载 Better Display Step 2:在设置中新建虚拟屏幕,创建虚拟屏幕 Step 3:进行如下设置 Step 4:注意事项 ⚠️ 设置后的虚拟屏幕与Sideca…

基于SSM的餐厅点菜管理系统的设计与实现

末尾获取源码 开发语言:Java Java开发工具:JDK1.8 后端框架:SSM 前端:采用Vue技术开发 数据库:MySQL5.7和Navicat管理工具结合 服务器:Tomcat8.5 开发软件:IDEA / Eclipse 是否Maven项目&#x…

找不到VCRUNTIME140_1.dll怎么办,VCRUNTIME140_1.dll丢失的5个解决方法

在当今的数字时代,我们的生活和工作都离不开电脑。然而,随着科技的发展,我们也会遇到各种各样的问题。其中,VCRUNTIME140_1.dll丢失的问题是许多人都会遇到的困扰。这个问题可能会导致许多应用程序无法正常运行,给我们…

如何在 Google Earth 中创建轨迹、路线并制作动画

如何创建航迹 https://kurviger.de/en Google 地球飞行教程(天桥动画) 选择合适的点 (可调整视图快照)点击录制,依次点击图标即可

电子计算机核心发展(继电器-真空管-晶体管)

目录 继电器 最大的机电计算机之一——哈弗Mark1号,IBM1944年 背景 组成 性能 核心——继电器 简介 缺点 速度 齿轮磨损 Bug的由来 真空管诞生 组成 控制开关电流 继电器对比 磨损 速度 缺点 影响 代表 第一个可编程计算机 第一个真正通用&am…

Go 代码中的文档和注释

撰写清晰、简洁和全面的代码文档的指南 在软件开发领域,编写代码只占了一半的战斗。另一半则围绕着创建清晰、简洁和全面的文档展开,这些文档不仅有助于开发人员理解代码库,还充当未来开发的路线图。在本指南中,我们将深入探讨编…

蓝桥杯每日一题2023.10.3

杨辉三角形 - 蓝桥云课 (lanqiao.cn) 题目描述 题目分析 40分写法&#xff1a; 可以自己手动构造一个杨辉三角&#xff0c;然后进行循环&#xff0c;用cnt记录下循环数的个数&#xff0c;看哪个数与要找的数一样&#xff0c;输出cnt #include<bits/stdc.h> using na…

协议栈——收发数据(拼接网络包,自动重发,滑动窗口机制)

目录 协议栈何时发送数据&#xff5e; 数据长度 IP模块的分片功能 发送频率 网络包序号&#xff5e;利用syn拼接网络包ack确认网络包完整 确定偏移量 服务器ack确定收到数据总长度 序号作用 双端告知各自序号 协议栈自动重发机制 大致流程 ack等待时间如何调整 是…

动态链接那些事

1、为什么要动态链接 1.1 空间浪费 对于静态链接来说&#xff0c;在程序运行之前&#xff0c;会将程序所需的所有模块编译、链接成一个可执行文件。这种情况下&#xff0c;如果 Program1 和 Program2 都需要用到 Lib.o 模块&#xff0c;那么&#xff0c;内存中和磁盘中实际上就…

WEB3 solidity 带着大家编写测试代码 操作订单 创建/取消/填充操作

好 在我们的不懈努力之下 交易所中的三种订单函数已经写出来了 但是 我们只是编译 确认了 代码没什么问题 但还没有实际的测试过 这个测试做起来 其实就比较的麻烦了 首先要有两个账号 且他们都要在交易所中有存入 我们还是先将 ganache 的虚拟环境启动起来 然后 我们在项目…

【计算机组成原理】考研真题攻克与重点知识点剖析 - 第 1 篇:计算机系统概述

前言 本文基础知识部分来自于b站&#xff1a;分享笔记的好人儿的思维导图&#xff0c;感谢大佬的开源精神&#xff0c;习题来自老师划的重点以及考研真题。此前我尝试了完全使用Python或是结合大语言模型对考研真题进行数据清洗与可视化分析&#xff0c;本人技术有限&#xff…

关于算法复杂度的几张表

算法在改进今天的计算机与古代的计算机的区别 去除冗余 数据点 算法复杂度 傅里叶变换

WebSocket实战之五JSR356

一、前言 前几篇WebSocket例子服务端我是用NodeJS实现,这一篇我们用Java来搭建一个WebSocket服务端&#xff0c;从2011年WebSocket协议RFC6455发布后&#xff0c;大多数浏览器都实现了WebSocket协议客户端的API,而对于服务端Java也定义了一个规范JSR356,即Java API for WebSoc…

软件工程与计算总结(二)软件工程的发展

本章开始介绍第二节内容&#xff0c;主要是一些历史性的东西~ 一.软件工程的发展脉络 1.基础环境因素的变化及其对软件工程的推动 抽象软件实体和虚拟计算机都是软件工程的基础环境因素&#xff0c;它们能从根本上影响软件工程的生产能力&#xff0c;而且是软件工程无法反向…

设计模式(包括Spring)、贯穿项目梳理与源码知识点

目标&#xff1a;高复用性&#xff0c;高内聚&#xff0c;低耦合 目的&#xff1a;高可读性&#xff0c;重用性&#xff0c;可靠性 类的六种关系 依赖&#xff0c;类中用到了对方&#xff0c;没有对方连编译都通不过&#xff0c;如下的几种关系全部是依赖关系泛化/继承&…

05_对象性能模式

对象性能模式 面向对象很好地解决了“抽象”的问题,但是必不可免地要付出定的代价。对于通常情况来讲&#xff0c;面向对象的成本大都可以忽略计。但是某些情况&#xff0c;面向对象所带来的成本必须谨慎处理。 典型模型&#xff1a; SingletonFlyweight Singleton 单件模式…

你写过的最蠢的代码是?——AI领域的奇妙体验

&#x1f337;&#x1f341; 博主猫头虎&#xff08;&#x1f405;&#x1f43e;&#xff09;带您 Go to New World✨&#x1f341; &#x1f984; 博客首页——&#x1f405;&#x1f43e;猫头虎的博客&#x1f390; &#x1f433; 《面试题大全专栏》 &#x1f995; 文章图文…