java学生成绩管理系统

这篇博客介绍了使用Java Swing和JDBC技术构建的学生成绩管理系统。系统包括五个包,涉及Controller层、POJO层、View层的编写,数据库连接及启动程序。Controller层实现了select和update操作,POJO层对应数据库表实体,View层包括不同角色的界面,而DbConnection类用于数据库连接。目前启动程序处于初步阶段,计划后续完善。
摘要由CSDN通过智能技术生成

学生成绩管理系统

使用java swing 和 jdbc 技术 管理学生信息

一,总体架构

五个包
一共五个包

二、controller层的编写

包含select及update两个核心类的编写,以后的按钮绑定的事件会使用其中的函数。
select类如下

package Controller;

import POJO.Student;
import POJO.StudentCourse;
import POJO.inputStudentInfo;
import Utils.DbConnection;

import java.io.*;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;


public class Select {
   
    // 查询执行行数
    public int userloginSelect(String sql) {
   
        ResultSet resultSet = DbConnection.query(sql);
        int a = 0;
        try {
   
            while (resultSet.next()) {
   
                a = resultSet.getInt(1);
            }
        } catch (SQLException e) {
   
            e.printStackTrace();
        }
        return a;
    }

    //查询全部的学生
    public Object[][] selectStudentAll(){
   
        String sql = "SELECT * FROM student ";
        System.out.println(sql);
        Connection conn = DbConnection.getConnection();
        PreparedStatement stmt = null;
        ResultSet rs = null;
        ArrayList<Student> list = new ArrayList<Student>();
        try {
   
            stmt = (PreparedStatement) conn.prepareStatement(sql);
            rs = stmt.executeQuery();
            while (rs.next()) {
   
                Student student = new Student();
                student.setID(rs.getInt(1));
                student.setName(rs.getString(2));
                student.setSex(rs.getString(3));
                student.setDateOfBirth(rs.getString(4));
                student.setStudentID(rs.getString(5));
                list.add(student);
            }
        } catch (SQLException e1) {
   
            e1.printStackTrace();
        } finally {
   
            try {
   
                DbConnection.colse(rs, stmt, conn);
            } catch (Exception e) {
   
                e.printStackTrace();
            }
        }
        Object[][] objects = new Object[list.size()][5];
        for (int i = 0; i < list.size(); i++) {
   
            objects[i][0] = list.get(i).getID();
            objects[i][1] = list.get(i).getName();
            objects[i][2] = list.get(i).getSex();
            objects[i][3] = list.get(i).getDateOfBirth();
            objects[i][4] = list.get(i).getStudentID();
        }
        return objects;
    }

    //根据姓名查询学生信息
    public Object[][] selectStudentByName(String name){
   
        String sql = "SELECT * FROM student where  name = '"+name+"'";
        Connection conn = DbConnection.getConnection();
        PreparedStatement stmt = null;
        ResultSet rs = null;
        ArrayList<Student> list = new ArrayList<Student>();
        try {
   
            stmt = (PreparedStatement) conn.prepareStatement(sql);
            rs = stmt.executeQuery();
            while (rs.next()) {
   
                Student student = new Student();
                student.setID(rs.getInt(1));
                student.setName(rs.getString(2));
                student.setSex(rs.getString(3));
                student.setDateOfBirth(rs.getString(4));
                student.setStudentID(rs.getString(5));
                list.add(student);
            }
        } catch (SQLException e1) {
   
            e1.printStackTrace();
        } finally {
   
            try {
   
                DbConnection.colse(rs, stmt, conn);
            } catch (Exception e) {
   
                e.printStackTrace();
            }
        }
        Object[][] objects = new Object[list.size()][5];
        for (int i = 0; i < list.size(); i++) {
   
            objects[i][0] = list.get(i).getID();
            objects[i][1] = list.get(i).getName();
            objects[i][2] = list.get(i).getSex();
            objects[i][3] = list.get(i).getDateOfBirth();
            objects[i][4] = list.get(i).getStudentID();
        }
        return objects;
    }


    //查询全部的学生对应的成绩
    public Object[][] selectStudentCourseAll(){
   
        String sql = "SELECT * FROM studentcourse ";
        System.out.println(sql);
        Connection conn = DbConnection.getConnection();
        PreparedStatement stmt = null;
        ResultSet rs = null;
        ArrayList<StudentCourse> list = new ArrayList<>();
        try {
   
            stmt = (PreparedStatement) conn.prepareStatement(sql);
            rs = stmt.executeQuery();
            while (rs.next()) {
   
                StudentCourse student = new StudentCourse();
                student.setId(rs.getInt(1));
                student.setStudentName(rs.getString(2));
                student.setCourseName(rs.getString(3));
                student.
  • 5
    点赞
  • 51
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
该学生成绩信息管理系统涉及到学生、教师、系统管理员、班级、学生成绩、课程。设置一个系统管理员对系统进行管理。所有用户需输入账号、密码登录进入系统;管理员进入系统后可对学生、老师、班级、课程进行增删改查操作;学生进入系统,查看成绩、查看和修改自己的信息;老师进入系统后,对自己这门课程的学生设置课程成绩、查看和修改自己的信息,查看学生的信息和成绩、以及统计分析学生的成绩; 管理员为班级设置年级,为年级设置课程,为班级的每门课程设置老师,为学生设置班级。一个年级有多门课程(语文、数学、外语等等),班级的每门课程只能有一名老师,一个老师可以有多门课程;老师选择自己这门课程为该课程的学生登记成绩。老师可以查看其他老师的信息(可以当成是老师的通讯录),查看本课程学生的信息和成绩;学生可以查看班级其他同学的信息(可以看成是班级的同学录)。 考试分为两种,一种是年级统考,一种是平时考试。年级统考需要管理员事先添加一次年级统考,考试成绩出来后,老师进入系统选择该次考试为学生登记成绩。平时考试则是班级平时的考试,老师添加考试信息,登记成绩。成绩统计分析则是针对年级统考进行分析,主要涉及各学科分数名次,总分名次。 技术实现 系统环境:Windows开发工具:IDEAJava版本:JDK 1.8服务器:Tomcat 1.8数据库:MySQL 5.X系统采用技术:Servlet+Jsp+Jdbc+H-ui+EasyUI+jQuery+Html+Css+Ajax 系统功能系统主要分为三种用户角色,分别是管理员、老师以及学生,其具体功能如下: - 管理员   学生信息管理、教师信息管理、年级信息管理、班级信息管理、课程信息管理、考试信息管理,系统参数设置 - 老师   教学管理、教师个人信息维护、教师通讯录管理 - 学生考试成绩查询、学生通讯录、学生个人信息维护 运行截图 登录界面: 管理员界面: 考试列表:  成绩统计: 学生信息管理: 教师信息管理: 年级、班级信息管理:  系统设置: 教师界面:  成绩登记:  教师通讯录: 个人信息:  学生界面: 学生成绩查询: 班级通讯录: 学生个人信息:              
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值