引言:如果需要定制类似的图形界面版的Java 管理系统,比如控制台版的,Java web版的,ssm版,开发工具为idea和eclipse、myEclipse的,提供远程服务,需要源码,或者需要项目实训、毕业设计系统、论文指导的,可以加我QQ1728608455。


本次的学生信息管理系统为图形界面版,如若需要别的版本,可以参考我写的其他博客,希望能帮助那些爱学习的人。

1、效果图







部分重要代码展示

package management;
/**
 * 登录界面
 */
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class LoginMain {
        private JTextField IDText;            //学号文本框
        private JPasswordField passwdText;  //密码文本框
        private JComboBox box;                //身份下拉列表框
        private JLabel loginlab;            //登录状态标签
        private JFrame jframe;                //窗体
        public LoginMain(){
            JLabel userlab = new JLabel("学 号:",JLabel.CENTER);//创建学号标签
            IDText = new JTextField(25);    //实例学号文本框
            JLabel passwdlab = new JLabel("密 码:",JLabel.CENTER);//创建密码标签
            passwdText = new JPasswordField(25);//实例化密码文本框
            loginlab = new JLabel("登录状态:",JLabel.CENTER);//实例化登录状态标签
            JLabel IDlabel = new JLabel("身份:");
            String str[] = {"student","teacher"};//创建下拉列表选项数组
            box = new JComboBox(str);
            jframe = new JFrame("学生管理系统登录界面");//实例化一个窗口,并设置标题
            JPanel userPanel= new JPanel();   //创建userPanel面板
            JPanel passwdPanel = new JPanel();//创建passwdPanel面板
            JPanel buttonPanel = new JPanel();//创建 buttonPanel面板
            JPanel labelPanel = new JPanel(); //labelPanel面板
            userPanel.add(userlab);//将userlab添加到userPanel面板
            userPanel.add(IDText); //将IDText添加到userPanel面板
            passwdPanel.add(passwdlab);
            passwdPanel.add(passwdText);
            JButton submit = new JButton("登录");//创建按钮并设置文本
            JButton reset = new JButton("重置");
            buttonPanel.add(IDlabel);//
            buttonPanel.add(box);//将下拉列表框添加到buttonPanel面板
            buttonPanel.add(submit);
            buttonPanel.add(reset);
            Font font=new Font("楷体",Font.BOLD+Font.PLAIN,35);
            loginlab.setFont(font);//设置loginlab标签文本字体
            loginlab.setForeground(Color.blue);
            labelPanel.add(loginlab);
            submit.addActionListener(new ActionListener(){
                //注册submit按钮事件监听器
                public void actionPerformed(ActionEvent e){
                    String user=IDText.getText();//获取学号
                    String passwd=new String (passwdText.getPassword());//获取密码
                    String identity= (String) box.getSelectedItem();
                    LoginCheck date=new LoginCheck(user,passwd,identity);
                    //连接数据库
                    System.out.println(user+" "+passwd+" "+identity);
                    boolean flag=date.prepared();
                    System.out.println(flag);
                    if(flag){//判断是否为合法用户
                        if("teacher".equals(identity)){
                            new TeacherInterface();
                            jframe.dispose();
                        }
                        else{
                            System.out.println("haha");
                            new StudentInterface(user);//登录学生界面
                            jframe.dispose(); //隐藏当前窗体
                        }
                        loginlab.setForeground(Color.green);
                        loginlab.setText("登陆成功!!!");
                    }
                    else{
                        loginlab.setForeground(Color.red);
                        loginlab.setText("登陆失败!!!");
                    }
                }
            });
            reset.addActionListener(new ActionListener(){
                //注册reset事件监听
                public void actionPerformed(ActionEvent e){
                    IDText.setText("");//重置学号
                    passwdText.setText("");
                    loginlab.setForeground(Color.blue);
                    loginlab.setText("请重新登录!!!");
                }
            });
            jframe.setLayout(new GridLayout(4,1));
            jframe.add(userPanel);
            jframe.add(passwdPanel);
            jframe.add(buttonPanel);
            jframe.add(labelPanel);
            jframe.setSize(400,200);
            jframe.setLocation(250,350);
            jframe.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//窗口关闭方式
            jframe.setVisible(true);
        }
        public static void main(String[] args){
            new LoginMain();
        }
}


package management;
//查询全部学生功能
import java.sql.*;
import java.util.*;
import javax.swing.JOptionPane;
import sqlpackage.DBConnection;
public class StudentAllInformation {

public static List<Object> selectAll() {
        List<Object> list=new ArrayList<Object>();//
        Object[] os=null;
        Connection conn=null;//连接数据库对象
        PreparedStatement pstmt=null;//预编译语句对象
        ResultSet rs = null;//结果集语句对象
        try{
            conn=DBConnection.getConnection();//获取数据库连接
            String sql="SELECT id,sname,password,sex,haddress,phone,dorm,result from student";
            //
            pstmt=conn.prepareStatement(sql);//使用预编译语句进行查询操作
            rs=pstmt.executeQuery();//获取结果集
            while(rs.next()){//判断结果集中是否有数据
                os=new Object[8];
                double point =rs.getDouble("result");//获取成绩信息
                os[0]=rs.getString(1);//将学号信息放到对应数组中
                os[1]=rs.getString(2);
                os[2]=rs.getString(3);
                os[3]=rs.getString(4);
                os[4]=rs.getString(5);
                os[5]=rs.getString(6);
                os[6]=rs.getString(7);
                os[7]=new Double(point);
                list.add(os);
            }
    }catch(SQLException e){
        JOptionPane.showMessageDialog(null, "查询所有学生信息时发生异常","**提示信息**",
                JOptionPane.INFORMATION_MESSAGE    );
        //提示查询指定用户信息时发生异常
        
        }finally{
            DBConnection.close(conn);//关闭数据库连接
        }
    
        return list;
    }

}


package management;
/**
 * 添加学生功能实现
 * @author Administrator
 *
 */
import java.sql.*;
import javax.swing.JOptionPane;
import sqlpackage.DBConnection;
public class AddStudentInformation {
    public static int add(String id, String name, String passwd, String sex, String add, String phone, String dorm,
            String result, double point) {
        // TODO Auto-generated method stub
        Connection conn=null;//连接数据库对象
        PreparedStatement pstmt=null;//预编译对象
        int rows=0;//更新语句行数变量
        try{
            conn=DBConnection.getConnection();//获取数据库连接
            String sql="insert into Student(id,sname,password,sex,haddress,phone,dorm,result )values(?,?,?,?,?,?,?,?)";
            //
            pstmt=conn.prepareStatement(sql);//使用预编译语句进行插入操作
            pstmt.setString(1,id);//将名称参数设置到 sql语句中
            pstmt.setString(2,name);
            pstmt.setString(3,passwd);
            pstmt.setString(4,sex);
            pstmt.setString(5,add);
            pstmt.setString(6,phone);
            pstmt.setString(7,dorm);
            pstmt.setDouble(8,point);
            rows=pstmt.executeUpdate();//执行更新操作
    }catch(SQLException e){
        System.out.println("插入数据时发生异常");
        e.printStackTrace();
        }finally{
            //DBConnection.close(pstmt);//关闭操作数据库对象资源
            DBConnection.close(conn);//关闭连接数据库对象资源
        }
        return rows;
    }
    public static int update(String id, String name, String passwd, String sex, String add, String phone, String dorm,
        String result, double point) {
        Connection conn=null;//连接数据库对象
        PreparedStatement pstmt=null;//预编译语句对象
        int rows=0;//结果集对象
        try{
            conn=DBConnection.getConnection();//获取数据库连接
            String sql="UPDATE student set password=?,sex=?,haddress=?,phone=?,dorm=?where id=?";
            pstmt=conn.prepareStatement(sql);//使用预编译语句进行操作
            pstmt.setString(1,passwd);//将名称参数设置到 sql语句中
            pstmt.setString(2,sex);
            pstmt.setString(3,add);
            pstmt.setString(4,phone);
            pstmt.setString(5,dorm);
            pstmt.setString(6,id);
            rows=pstmt.executeUpdate();//执行更新操作
    }catch(SQLException e){//判断是否发生异常
        JOptionPane.showMessageDialog(null, "插入数据时发生异常","**提示信息**",
                JOptionPane.INFORMATION_MESSAGE    );
        //发生异常
        
        }finally{
            //DBConnection.close(pstmt);//关闭操作数据库对象资源
            DBConnection.close(conn);//关闭数据库连接
        }
        return rows;
    }

public static boolean check(String id) {
        // TODO Auto-generated method stub
        Connection conn=null;//连接数据库对象
        PreparedStatement pstmt=null;//预编译语句对象
        ResultSet rs = null;//结果集语句对象
        try{
            conn=DBConnection.getConnection();//获取数据库连接
            String sql="SELECT id student from student where id=?";
            //
            pstmt=conn.prepareStatement(sql);//使用预编译语句进行操作
            pstmt.setString(1,id);//将name参数设置到 sql语句中
            rs=pstmt.executeQuery();//获取结果集
            if(rs.next()){//判断结果集中是否有数据
                return true;
            }
            }catch(SQLException e){
                System.out.println("插入数据时发生异常");
                e.printStackTrace();
            }finally{
                DBConnection.close(conn);//关闭连接数据库对象资源
            }
        return false;
    }

}


package management;
//删除学生界面
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class DelStudentInterface extends JFrame{
    private static final long serialVersionUID=-1928970409928880648L;//序列化版本号??
    JLabel lsid=new JLabel("学   号 :");//创建学号标签
    JTextField tsid=new JTextField("",20);//创建学号文本框
    JButton delStudent=new JButton("删除学生");//创建删除学生按钮
    JButton reset=new JButton("重置");
    public DelStudentInterface(){
        JPanel idPan=new JPanel();//创建学号面板
        JPanel bPan=new JPanel();
        
        idPan.add(lsid);
        idPan.add(tsid);
        bPan.add(delStudent);
        bPan.add(reset);
        delStudent.addActionListener(new ActionListener(){
            //注册delStudent监听器
            public void actionPerformed(ActionEvent e){
                String id=tsid.getText();//取得学号信息
                if(id==null||"".equals(id)){
                    JOptionPane.showMessageDialog(null, "学号不能为空!!!",
                            "**提示信息**",JOptionPane.INFORMATION_MESSAGE);
                    return;
                }
                if((DelStudentInformation.delete(id))<1){
                    JOptionPane.showMessageDialog(null, "删除失败!!!",
                            "**提示信息**",JOptionPane.INFORMATION_MESSAGE);
                    return;
                }else{
                    JOptionPane.showMessageDialog(null, "删除"+id+"成功!!!",
                            "**提示信息**",JOptionPane.INFORMATION_MESSAGE);
                }
            }
        });
        reset.addActionListener(new ActionListener(){
            //注册reset监听器
            public void actionPerformed(ActionEvent e){
                tsid.setText("");
            }
            });
        this.setTitle("删除学生信息界面");//设置窗口标题
        this.setLayout(new GridLayout(2,1));//设置窗口布局管理器
        this.add(idPan);//将学号面板添加到窗体中
        this.add(bPan);
        this.setLocation(400,300);//设置窗体初始位置
        this.setSize(350,150);//设置窗体大小
        this.setVisible(true);//设置窗体可见
    }
}


package management;
//获取学生成绩
import java.sql.*;

import javax.swing.JOptionPane;

//import javax.swing.JOPtionPane;
import sqlpackage.ResultSelect;

public class ResultSelectInformation {

public static double average() {
        // TODO Auto-generated method stub
        double result=0;
        String sql="Select AVG(result) From student";
        ResultSet rs=ResultSelect.executeQuery(sql);//获取结果集
        try{
            if(rs.next()){
                result=rs.getDouble(1);
            }
        }catch(SQLException e){
            JOptionPane.showMessageDialog(null, "查询平均成绩发生异常","**提示信息**",
                    JOptionPane.INFORMATION_MESSAGE    );
        }
        return result;
    }
/**
 * 求学生的总体成绩情况
 */
    public static int[] selectResult() {
        // TODO Auto-generated method stub
        int rate[]=new int[5];
        String sqlCount="Select count(id) from student";
        String failCount="select(select COUNT(result) from student where result<60);";
        String passCount="select(select COUNT(result) from student where result>=60 and result<75);";
        String fineCount="select(select COUNT(result) from student where result>=75 and result<85);";
        String excellentCount="select(select COUNT(result) from student where result>=85);";
        ResultSet rs=null;
        try{
            rs=ResultSelect.executeQuery(sqlCount);
            if(rs.next()){
                rate[0]=rs.getInt(1);
            }
        }catch(SQLException e){
            JOptionPane.showMessageDialog(null, "查询总人数发生异常","**提示信息**",
                    JOptionPane.INFORMATION_MESSAGE    );
        }
        try{
            rs=ResultSelect.executeQuery(failCount);
            if(rs.next()){
                rate[1]=rs.getInt(1);
            }
        }catch(SQLException e){
            JOptionPane.showMessageDialog(null, "查询不及格人数发生异常","**提示信息**",
                    JOptionPane.INFORMATION_MESSAGE    );
        }
        try{
            rs=ResultSelect.executeQuery(passCount);
            if(rs.next()){
                rate[2]=rs.getInt(1);
            }
        }catch(SQLException e){
            JOptionPane.showMessageDialog(null, "查询及格人数发生异常","**提示信息**",
                    JOptionPane.INFORMATION_MESSAGE    );
        }
        try{
            rs=ResultSelect.executeQuery(fineCount);
            if(rs.next()){
                rate[3]=rs.getInt(1);
            }
        }catch(SQLException e){
            JOptionPane.showMessageDialog(null, "查询良好人数发生异常","**提示信息**",
                    JOptionPane.INFORMATION_MESSAGE    );
        }
        try{
            rs=ResultSelect.executeQuery(excellentCount);
            if(rs.next()){
                rate[4]=rs.getInt(1);
            }
        }catch(SQLException e){
            JOptionPane.showMessageDialog(null, "查询优秀发生异常","**提示信息**",
                    JOptionPane.INFORMATION_MESSAGE    );
        }
        return rate;
    }

}


希望能帮到大家。

Java 学生信息管理系统 (mysql版)相关推荐

  1. JAVA学生信息管理系统IO流版

    JAVA学生信息管理系统IO流版 1. Student类 public class Student implements Serializable{//学号private int sid;//姓名pr ...

  2. java学生信息管理系统(GUI+mysql数据库)

    java学生信息管理系统+GUI界面布局+mysql数据库 代码已经更新!,重新设计了UI界面,代码之间的逻辑更加清晰 新的代码不需要手动建立数据库和表,全部由程序自动执行 用户名和密码为你数据库的用 ...

  3. 学生管理系统html js,学生信息管理系统JS版(Eclipse).docx

    学生信息管理系统JS版(Eclipse) 学生信息管理系统JSP版(Eclipse) 新建new->Dynamic Web Project->名字为StudentJSP. 准备工作 编写J ...

  4. 基于JAVA学生信息管理系统录像演示2021计算机毕业设计源码+系统+数据库+lw文档+部署

    基于JAVA学生信息管理系统录像演示2021计算机毕业设计源码+系统+数据库+lw文档+部署 基于JAVA学生信息管理系统录像演示2021计算机毕业设计源码+系统+数据库+lw文档+部署 本源码技术栈 ...

  5. JAVA 学生信息管理系统

    java 学生信息管理系统 主要使用的增删改查操作 首先,需要先建一个文件(点击左上角File,选择第一个New里的第一个Java Project) 然后再建一个Javabean包,在这个包里新建一个 ...

  6. python 实现学生信息管理系统+MySql 数据库,包含源码及相关实现说明~

    学生信息管理系统 1.系统说明 python 编写的学生信息管理系统+MySQL数据库,实现了增删改查的基本功能. 2.数据库说明 本人使用的是 MySQL8.0 版本 数据库端口号为:3306 数据 ...

  7. 通过学生信息管理系统(数组版)学习C语言

    我的知识星球<C语言解惑课堂>的[第159篇]到[167篇]是学生信息管理系统(数组版)的一个C语言源码实现,[第340.341.342.343.344篇]详解了源码中的C程序知识点,需要 ...

  8. JAVA学生信息管理系统课程设计简介以及开发源码介绍

    java学生信息管理系统简介 1.系统简介 主要实现功能:登录,注册,增加,删除,更改,查找,条件查找,查看在线账号,更改密码. 涉及到内容:java mysql8.0 Navicat 可视化工具 2 ...

  9. PHP 学生信息管理系统mysql数据库web结构apache计算机软件工程网页wamp

    一.源码特点     PHP 学生信息管理系统 是一套完善的web设计系统,对理解php编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要采用B/S模式开发. 代码下载 https://dow ...

最新文章

  1. 有关包络Spectral Envelope的疑问
  2. Unity镜子效果的实现(无需镜子Shader)
  3. CCNA的全套标准实验
  4. 搭建elasticsearch+kibana+logstash+filebeat
  5. 如何将已有mdf文件导入到SQL 2000 或者 SQL 2005
  6. DayDayUp之Job:牛客网—算法工程师—剑指offer之66道在线编程(解决思路及其代码)——21~40
  7. 如何增加SAP_ALL的权限
  8. QT的QJSValueIterator类的使用
  9. php源码仿三一重工,织梦仿三一重工业大学气企业网站php源码
  10. 加速度计和陀螺仪数据融合
  11. 谷歌发布端到端AI平台,还有用于视频和表格的AutoML、文档理解API等多款工具
  12. 2018.09.28 hdu5434 Peace small elephant(状压dp+矩阵快速幂)
  13. docker容器构建_我如何容器化构建系统
  14. heap c语言数组实现,垃圾回收算法实现之 - 分代回收(完整可运行C语言代码)...
  15. 用Javascript实现面向对象编程(封装,抽象,继承,多态)
  16. Kubernetes RBAC 详解
  17. 基于CentOS7上的搭建javaweb环境 - 学习笔记
  18. 傅里叶变换落地:离散傅里叶变换(DFT)
  19. Quasar的配置文件说明
  20. 2018贵州省大学生程序设计竞赛参赛感言

热门文章

  1. 【免费开放源码】审批类小程序项目实战(我的页面)
  2. python程序入口
  3. Opencv Sift和Surf特征实现图像无缝拼接生成全景图像
  4. 鼠标放到标签上面显示弹窗,滑过弹窗后,弹窗显示,移出标签和弹窗,弹窗消失
  5. android 手机充电慢,导致手机充电太慢的四大原因及解决方法【图文教程】
  6. 为什么java缩进不能tab_为什么代码缩进时必须要用 Tab 而不能用空格
  7. 怎样切换tab显示不同的数据
  8. 五、HTML5单页框架View.js介绍 - View.js的比较优势
  9. 视频教程-Python爬虫视频课程:中国女性胸部大小分析-Python
  10. ios打开系统setting页面