Eclipse+Java+Swing实现学生成绩管理系统(上)

简介: Eclipse+Java+Swing实现学生成绩管理系统

一、系统介绍


本系统实现了用户登录,实现了对学生成绩的增删改查,实现了用户修改密码功能,采用MD5加密算法,数据库使用Mysql8.0.13,界面良好。


二、系统展示


1.登录页

20201209192719933.jpg

2.主页面


20201209192745237.jpg


3.查询学生成绩


20201209192811680.jpg


4.修改学生成绩


20201209192900127.jpg


5.添加学生成绩


20201209192923867.jpg


6.修改系统密码


20201209192950561.jpg


三、系统实现


Student.java

package com.sjsq.model;
import java.util.ArrayList;
import java.util.List;
/**
 * 学生实体类
 * @author shuijianshiqing
 *
 */
public class Student {
  // 学号
  private String sId;
  // 姓名
  private String sName;
  // 性别
  private String sSex;
  // 学院
  private String sCollege;
  private String sC;
  private String sMath;
  private String sEnglish;
  private String sChinese;
  private String sJava;
  public Student() {
    super();
  }
  public Student(String sId, String sName, String sSex, String sCollege, String sC, String sMath,
      String sEnglish, String sChinese, String sJava) {
    super();
    this.sId = sId;
    this.sName = sName;
    this.sSex = sSex;
    this.sCollege = sCollege;
    this.sC = sC;
    this.sMath = sMath;
    this.sEnglish = sEnglish;
    this.sChinese = sChinese;
    this.sJava = sJava;
  }
  public static List<Student> students=new ArrayList<Student>();
  public String getsId() {
    return sId;
  }
  public void setsId(String sId) {
    this.sId = sId;
  }
  public String getsName() {
    return sName;
  }
  public void setsName(String sName) {
    this.sName = sName;
  }
  public String getsSex() {
    return sSex;
  }
  public void setsSex(String sSex) {
    this.sSex = sSex;
  }
  public String getsCollege() {
    return sCollege;
  }
  public void setsCollege(String sCollege) {
    this.sCollege = sCollege;
  }
  public String getsC() {
    return sC;
  }
  public void setsC(String sC) {
    this.sC = sC;
  }
  public String getsMath() {
    return sMath;
  }
  public void setsMath(String sMath) {
    this.sMath = sMath;
  }
  public String getsEnglish() {
    return sEnglish;
  }
  public void setsEnglish(String sEnglish) {
    this.sEnglish = sEnglish;
  }
  public String getsChinese() {
    return sChinese;
  }
  public void setsChinese(String sChinese) {
    this.sChinese = sChinese;
  }
  public String getsJava() {
    return sJava;
  }
  public void setsJava(String sJava) {
    this.sJava = sJava;
  }
  @Override
  public String toString() {
    return "Student [sId=" + sId + ", sName=" + sName + ", sSex=" + sSex + ", sCollege=" + sCollege + ", sC="
        + sC + ", sMath=" + sMath + ", sEnglish=" + sEnglish + ", sChinese=" + sChinese + ", sJava="
        + sJava + "]";
  } 
}

StudentDao.java

package com.sjsq.dao;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import com.sjsq.model.Student;
import com.sjsq.util.DBUtil;
public class StudentDao {
  public static int progress;
  // private final String FILE_PATH="d:\\student.xls";
  public static StudentDao getInstance() {
    StudentDao studentDao;
    return studentDao = new StudentDao();
  }
  // 查询所有学生的信息
  public ResultSet queryAll() {
    ResultSet rs = null;
    String sql = "select * from Student";
    System.out.println("------查询所有学生信息------");
    System.out.println("sql语句:" + sql);
    DBUtil db = new DBUtil();
    try {
      rs = db.executeQuery(sql);
    } catch (SQLException e) {
      e.printStackTrace();
    }
    return rs;
  }
  // 查询所有学生信息,并且返回List
  public List<Student> queryAllStudent() {
    List<Student> listStudent = new ArrayList<Student>();
    String sql = "select * from student";
    System.out.println("------查询所有学生信息------");
    System.out.println("sql语句:" + sql);
    DBUtil db = new DBUtil();
    ResultSet rs = null;
    try {
      rs = db.executeQuery(sql);
      while (rs.next()) {
        Student studentTmp = new Student();
        studentTmp.setsId(rs.getString("sId"));
        studentTmp.setsName(rs.getString("sName"));
        studentTmp.setsSex(rs.getString("sSex"));
        studentTmp.setsCollege(rs.getString("sCollege"));
        studentTmp.setsC(rs.getString("sC"));
        studentTmp.setsMath(rs.getString("sMath"));
        studentTmp.setsEnglish(rs.getString("sEnglish"));
        studentTmp.setsChinese(rs.getString("sChinese"));
        studentTmp.setsJava(rs.getString("sJava"));
        listStudent.add(studentTmp);
      }
    } catch (SQLException e) {
      e.printStackTrace();
    } finally {
      try {
        if (rs != null) {
          rs.close();
        }
      } catch (SQLException e) {
        e.printStackTrace();
      }
      db.close();
    }
    return listStudent;
  }
  public static int getprogress() {
    return progress;
  }
  // 按照条件查询
  public ResultSet queryByCondition(String[] data) {
    ResultSet rs = null;
    String sql = "select * from student where 1=1";
    int i = 0;
    // 学号
    if (!(data[0].equals(""))) {
      sql += " and sid='" + data[0] + "' ";
    }
    // 姓名
    if (!(data[1].equals(""))) {
      sql += " and sname='" + data[1] + "' ";
    }
    // 省份
    if (!(data[2].equals(""))) {
      sql += " and senglish='" + data[2] + "' ";
    }
    // 性别
    if (!(data[3].equals(""))) {
      sql += " and ssex='" + data[3] + "' ";
    }
    System.out.println("------查询所有学生信息------");
    System.out.println("sql语句:" + sql);
    DBUtil db = new DBUtil();
    try {
      rs = db.executeQuery(sql);
    } catch (SQLException e) {
      e.printStackTrace();
    }
    return rs;
  }
  // 插入学生信息,并且返回插入结果
  public boolean insertStudentInformation(Student student) {
    DBUtil DBUtil = new DBUtil();
    // 通过student对象设置sid的值
    String sid = student.getsId();
    String sname = student.getsName();
    String ssex = student.getsSex();
    String scollege = student.getsCollege();
    String sc = student.getsC();
    String smath = student.getsMath();
    String senglish = student.getsEnglish();
    String schinese = student.getsChinese();
    String sjava = student.getsJava();
    String sql = "insert into student(sid,sname,ssex,scollege,sc,smath,senglish,schinese,sjava)" + 
    "values('" + sid + "','" + sname + "','" + ssex + "','" + scollege+ "','" + sc+ "','" 
        + smath + "','" + senglish + "','" + schinese + "','" + sjava + "')";
    System.out.println("------插入学生信息------");
    System.out.println("sql语句:" + sql);
    // 向数据库插入数据语句
    // 定义一个boolean型变量,用于判断插入数据是否成功
    boolean flag = false;
    try {
      // 更新数据库信息
      flag = DBUtil.executeUpdate(sql);
    } catch (SQLException e) {
      e.printStackTrace();
    }
    DBUtil.close();
    // 返回执行结果
    return flag;
  }
  // 统计同一学号有多少人
  public int queryForsidinformation(String sid) {
    DBUtil db = new DBUtil();
    // 通过sid查询数据库中是否有相同sid数据
    String sql = "select * from student where sid=" + sid;
    System.out.println("------验证学生学号信息------");
    System.out.println("sql语句:" + sql);
    ResultSet rs = null;
    int count = 0;
    try {
      // 更新数据库保存到结果集里
      rs = (ResultSet) db.executeQuery(sql);
      // 找到相同的count++
      if (rs.next()) {
        count++;
      }
    } catch (SQLException e) {
      e.printStackTrace();
    }
    // 关闭数据库连接
    db.close();
    // 返回count
    return count;
  }
  // 更新学生信息,这里学号不能更新
  public boolean updateStudentInformation(Student student) {
    DBUtil DBUtil = new DBUtil();
    // scollege,sc,smath,senglish,schinese,sjava
    String sql = "update student set sname=" + "'" + student.getsName() + "'" + " ," 
        + " ssex=" + "'" + student.getsSex() + "'" + " ,"
        + " scollege=" + "'" + student.getsCollege() + "' " + " ,"
        + " sc=" + "'" + student.getsC() + "' " + " ,"
        + " smath=" + "'" + student.getsMath() + "' " + " ,"
        + " senglish=" + "'" + student.getsEnglish() + "'" + "," 
        + " schinese=" + "'" + student.getsChinese() + "'" + " ," 
        + " sjava=" + "'" + student.getsJava()+ "'" 
        + " where" + " sid=" + "'"+ student.getsId() + "'";
    System.out.println("------更新学生信息------");
    System.out.println("sql语句:" + sql);
    boolean flag = false;
    try {
      flag = DBUtil.executeUpdate(sql);
    } catch (SQLException e) {
      e.printStackTrace();
    }
    return flag;
  }
  // 删除学生信息
  public boolean deleteStudentInfoBySid(String sid) {
    boolean flag = false;
    String sql = "delete from student where sid=" + "'" + sid + "'";
    System.out.println("------删除学生信息------");
    System.out.println("sql语句:" + sql);
    DBUtil DBUtil = new DBUtil();
    try {
      flag = DBUtil.executeUpdate(sql);
    } catch (SQLException e) {
      e.printStackTrace();
    }
    return flag;
  }
}


相关文章
|
10天前
|
运维 自然语言处理 供应链
Java云HIS医院管理系统源码 病案管理、医保业务、门诊、住院、电子病历编辑器
通过门诊的申请,或者直接住院登记,通过”护士工作站“分配患者,完成后,进入医生患者列表,医生对应开具”长期医嘱“和”临时医嘱“,并在电子病历中,记录病情。病人出院时,停止长期医嘱,开具出院医嘱。进入出院审核,审核医嘱与住院通过后,病人结清缴费,完成出院。
35 3
|
13天前
|
Java 数据库连接 数据库
深入探讨Java连接池技术如何通过复用数据库连接、减少连接建立和断开的开销,从而显著提升系统性能
在Java应用开发中,数据库操作常成为性能瓶颈。本文通过问题解答形式,深入探讨Java连接池技术如何通过复用数据库连接、减少连接建立和断开的开销,从而显著提升系统性能。文章介绍了连接池的优势、选择和使用方法,以及优化配置的技巧。
16 1
|
15天前
|
JavaScript Java 项目管理
Java毕设学习 基于SpringBoot + Vue 的医院管理系统 持续给大家寻找Java毕设学习项目(附源码)
基于SpringBoot + Vue的医院管理系统,涵盖医院、患者、挂号、药物、检查、病床、排班管理和数据分析等功能。开发工具为IDEA和HBuilder X,环境需配置jdk8、Node.js14、MySQL8。文末提供源码下载链接。
|
18天前
|
移动开发 前端开发 JavaScript
java家政系统成品源码的关键特点和技术应用
家政系统成品源码是已开发完成的家政服务管理软件,支持用户注册、登录、管理个人资料,家政人员信息管理,服务项目分类,订单与预约管理,支付集成,评价与反馈,地图定位等功能。适用于各种规模的家政服务公司,采用uniapp、SpringBoot、MySQL等技术栈,确保高效管理和优质用户体验。
|
20天前
|
XML JSON 监控
告别简陋:Java日志系统的最佳实践
【10月更文挑战第19天】 在Java开发中,`System.out.println()` 是最基本的输出方法,但它在实际项目中往往被认为是不专业和不足够的。本文将探讨为什么在现代Java应用中应该避免使用 `System.out.println()`,并介绍几种更先进的日志解决方案。
44 1
|
6月前
|
Java Maven Android开发
在Eclipse里配置Maven插件
Maven是一款比较常用的Java开发拓展包,它相当于一个全自动jar包管理器,会导入用户开发时需要使用的相应jar包。使用Maven开发Java程序,可以极大提升开发者的开发效率。下面我就跟大家介绍一下如何在Eclipse里安装和配置Maven插件。
146 0
|
6月前
|
XML Java Maven
eclipse 、idea 安装activiti插件
eclipse 、idea 安装activiti插件
151 0
|
11月前
|
Java Android开发
eclipse安装SpringBoot插件的无敌办法
eclipse安装SpringBoot插件的无敌办法
126 0
|
11月前
|
Java Android开发 Spring
在 Eclipse 中安装 SpringTools 插件
在 Eclipse 中安装 SpringTools 插件
125 0
|
XML Java 应用服务中间件
Eclipse插件下载地址汇总
Eclipse插件下载地址汇总
300 0