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

4.修改学生成绩


在这里插入图片描述

5.添加学生成绩


在这里插入图片描述

6.修改系统密码


在这里插入图片描述

三、系统实现

=====================================================================

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 students=new ArrayList();

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 queryAllStudent() {

List listStudent = new ArrayList();

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.g
etsName() + “'” + " ,"

  • " 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;

}

}

LoginFrame.java


package com.sjsq.view;

import org.jb2011.lnf.beautyeye.ch3_button.BEButtonUI;

import java.awt.Color;

import java.awt.Font;

import java.awt.Graphics;

import java.awt.Image;

import java.awt.Rectangle;

import java.awt.Toolkit;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import java.awt.event.KeyEvent;

import java.awt.event.KeyListener;

import javax.swing.ImageIcon;

import javax.swing.JButton;

import javax.swing.JFrame;

import javax.swing.JLabel;

import javax.swing.JOptionPane;

import javax.swing.JPanel;

import javax.swing.JPasswordField;

import javax.swing.JTextField;

import javax.swing.Timer;

import javax.swing.UIManager;

import com.sjsq.model.User;

import com.sjsq.util.MD5Util;

import com.sjsq.dao.UserDao;

public class LoginFrame extends JFrame implements ActionListener {

public static String uname = null;

public static String pwd = null;

String username, password, login, quit;

// 登录标签

private JLabel loginJLabel;

private JPanel jContentPane = null;

private JButton jButtonLogin = null;

private JButton jButtonExit = null;

private JTextField jTextFieldUserName = null;

private JTextField jTextFieldPassWord = null;

// 登录用户名

static int storeUserId;

// 图片

public JLabel jLabel_Image = null;

// 登录用户名

public static String storeUserame = null;

// 登录密码

public static String storeUserPassword = null;

// 重新登陆标记

static boolean RELOAD = true;

private JLabel jLabelUserName = null;

private JLabel jLabelPassWord = null;

int index;

public LoginFrame() {

// 设置背景

setForeground(new Color(255, 255, 255));

this.setResizable(false);

this.setSize(800, 500);

this.setTitle(“学生成绩管理系统”);

this.setLocationRelativeTo(null);

try {

UIManager.setLookAndFeel(“com.sun.java.swing.plaf.windows.WindowsLookAndFeel”);// 使用windows外观

} catch (Exception e) {

e.printStackTrace();

}

loginJLabel = new JLabel(“学生成绩管理系统”);

Font font = new Font(“微软雅黑”,Font.BOLD,40);

loginJLabel.setFont(font);

loginJLabel.setBounds(220,100,650, 50);

loginJLabel.setForeground(Color.DARK_GRAY);

getContentPane().add(loginJLabel);

Font font2 = new Font(“微软雅黑”,Font.BOLD,15);

jLabelPassWord = new JLabel();

jLabelPassWord.setFont(font2);

jLabelPassWord.setBounds(new Rectangle(300, 250, 71, 29));

jLabelPassWord.setText(“用户名:”);

jLabelUserName = new JLabel();

jLabelUserName.setBounds(new Rectangle(300, 300, 71, 29));

jLabelUserName.setFont(font2);

jLabelUserName.setText(“密码:”);

// 账号输入框

jTextFieldUserName = new JTextField(20);

jTextFieldUserName.setBounds(new Rectangle(360, 250, 154, 33));

// 密码输入框

jTextFieldPassWord = new JPasswordField();

jTextFieldPassWord.setBounds(new Rectangle(360, 300, 154, 33));

// 登录

jButtonLogin = new JButton();

jButtonLogin.setBounds(new Rectangle(320, 380, 78, 26));

jButtonLogin.setText(“登录”);

jButtonLogin.setUI(new BEButtonUI()

.setNormalColor(BEButtonUI.NormalColor.green));

// 回车登录

getRootPane().setDefaultButton(jButtonLogin);

// 退出

jButtonExit = new JButton();

jButtonExit.setUI(new BEButtonUI()

.setNormalColor(BEButtonUI.NormalColor.lightBlue));

jButtonExit.setBounds(new Rectangle(420, 380, 78, 26));

jButtonExit.setText(“退出”);

// 包含所有的元素

jContentPane = new JPanel();

jContentPane.setLayout(null);

jContentPane.add(jLabelUserName, null);

jContentPane.add(jLabelPassWord, null);

jContentPane.add(jButtonLogin, null);

jContentPane.add(jButtonExit, null);

jContentPane.add(jTextFieldUserName, null);

jContentPane.add(jTextFieldPassWord, null);

getContentPane().add(jContentPane);

jTextFieldUserName.addKeyListener(new KeyListener() {

@Override

public void keyPressed(KeyEvent e) {

}

@Override

public void keyReleased(KeyEvent e) {

}

@Override

public void keyTyped(KeyEvent e) {

if(e.getKeyChar() == KeyEvent.VK_ENTER){

jTextFieldPassWord.requestFocus();

}

}

});

jTextFieldPassWord.addKeyListener(new KeyListener() {

@Override

public void keyTyped(KeyEvent e) {

}

@Override

public void keyReleased(KeyEvent e) {

}

@Override

public void keyPressed(KeyEvent e) {

if(e.getKeyChar() == KeyEvent.VK_ENTER){

username = jTextFieldUserName.getText();

password = MD5Util.string2MD5(jTextFieldPassWord.getText());

User user = new User();

user.setUsername(username);

user.setPassword(password);

String s=user.getUsername();

String p=jTextFieldPassWord.getText();

UserDao userDao = new UserDao();

int choice = 0;

if(!userDao.checkUser(user)) {

JOptionPane.showMessageDialog(null, “用户名和密码错误”,“消息提示”,JOptionPane.WARNING_MESSAGE);

}else {

setVisible(false);

MainMenuFrame MM = new MainMenuFrame();

uname = s;

pwd=p;

}

}

}

});

this.setDefaultCloseOperation(EXIT_ON_CLOSE);

this.setVisible(true);

// 添加监控

jTextFieldUserName.addActionListener(this);

jTextFieldPassWord.addActionListener(this);

jButtonLogin.addActionListener(this);

jButtonExit.addActionListener(this);

}

@Override

public void actionPerformed(ActionEvent e) {

// 获取账号和密码

username = jTextFieldUserName.getText();

password = MD5Util.string2MD5(jTextFieldPassWord.getText());

User user = new User();

user.setUsername(username);

user.setPassword(password);

String s = user.getUsername();

String p = jTextFieldPassWord.getText();

UserDao userDao = new UserDao();

int choice = 0;

if (e.getSource() == jButtonLogin) {

if (!userDao.checkUser(user)) {

JOptionPane.showMessageDialog(null, “用户名和密码错误”, “消息提示”, JOptionPane.WARNING_MESSAGE);

} else {

setVisible(false);

MainMenuFrame MM = new MainMenuFrame();

uname = s;

pwd = p;

}

} else if (e.getSource() == jButtonExit) {

System.exit(0);

}

}

// 测试

public static void main(String[] args) {

new LoginFrame();

}

}

MainMenuFrame.java


package com.sjsq.view;

import java.awt.Font;

import java.awt.Rectangle;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import java.awt.event.WindowAdapter;

import java.awt.event.WindowEvent;

import javax.swing.ImageIcon;

import javax.swing.JButton;

import javax.swing.JFrame;

import javax.swing.JMenuBar;

import javax.swing.JMenuItem;

import javax.swing.JPanel;

import javax.swing.JScrollPane;

import javax.swing.JTextArea;

import org.jb2011.lnf.beautyeye.ch3_button.BEButtonUI;

/*

  • 登陆成功后主界面

*/

public class MainMenuFrame extends JFrame implements ActionListener {

private JFrame mainmenu;

private JTextArea text;

// 标题栏(关于)

private JMenuBar menuBar1;

private JMenuItem aboutSystem;

public MainMenuFrame() {

mainmenu();

}

public void mainmenu() {

mainmenu = new JFrame(“极客大学学生管理系统”);

setLocationRelativeTo(null);// 将容器显示在屏幕中央

mainmenu.setSize(850, 650);

mainmenu.getContentPane().add(new JScrollPane(text));

  • 12
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值