《学籍信息管理系统》java+mysql+gui实现(全套免费代码+保姆教学+60页实验报告)

这篇具有很好参考价值的文章主要介绍了《学籍信息管理系统》java+mysql+gui实现(全套免费代码+保姆教学+60页实验报告)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

完整代码在评论区置顶!!不用再问啦!!!

系统是拥有验证码验证功能,账户登录功能,数据的增删改查功能,数据库内容是建立了学生表,院系表,学生账户表,管理员账户表,学生表与院系表之间还存在外键联系。

我把系统做成两个菜单页面,管理员账户与学生账户登录后显示的菜单功能不同,而只有管理员账户才能够实现修改删除添加学籍数据,学生账户只有查询功能。

系统难度不高,但是就是gui页面比较复杂。

要求:

本课程设计综合应用面向对象程序设计所学的知识设计一个考试系统或管理系统,主题自拟,数据库采用MySQL。设计要求如下:

  1. 管理系统

管理系统如学籍信息管理系统、图书信息管理系统、学生成绩管理系统等。学籍信息管理系统实现对学生学籍的管理,学籍信息包括学号、姓名、性别、籍贯、政治面貌、学院、专业和班级等,系统能够实现对学籍信息的添加、删除、修改、查找、汇总等功能。 

  • 目录

    需要自行修改内容

    数据库结构设计

    系统详细设计:

    测试结果:

    关键功能代码:



大致思路可以总结为:

  1. 在MYSQL数据库中建user表和studentuser表,用于存放管理员账户密码与学生账户密码,建Depart表,用来存放院系班级信息,建studentinfor表来存放学生信息;
  2. 用JDBC来连接、操作数据库。
  3. 管理员账户将展示studentinfor、Depart数据,实现多种增删改查功能。学生账户将只实现简单的查询与Depart数据                                                                                                                                                                                                                                                                              类的分析和设计
  4. main包中有1个类:

Main类(作为主程序,调用构建登录页面类LoginFrame);

  1. Gui.LoginSwing包中有4个类,分别是:

BackGroundPanel类(用于页面背景图片设置中的声明图片与绘制背景);

LoginFrame类(制作登录页面的gui,初始化登录并且连接账户验证功能);

ScreenUtils类(用于获取电脑屏幕数据,便于页面生成时位于电脑屏幕中央);

LoginTry包下的LoginTry类(系统登录的验证码验证,并且进行账户密码与数据库内user表内容的比对验证,两者都成功都能进入菜单);

  1. connect包中有2个类,分别是:

JDBCUtils类(jdbc连接的工具类,通过自定义保存有连接jdbc的url、user、password和driver的.properties资源包,定义jdbc的连接与jdbc类的关闭,方便后续的书写);

  jdbcConnect类(JDBC类,与功能类分开,可以被多次重复调用,相似功能可以调用相同的JDBC类,起到代码重复性低高效的特点,其中还调用JDBCUtils工具类,简化每次连接和关闭数据库的代码)

  1. 各项功能包有:

         StuDAO类(是功能库,保存各功能的mysql语句部分,在StuDAO函数中再调用JDBC类与数据库进行连接,完成相应功能。)

  1. Gui.CheckSwing包中有2个类,分别是:

CheckSwing类(管理员账户中的查询功能,根据选中的内容生成查询页面以及查询学生学籍详细内容显示);

CheckSwingStu类(学生账户中的查询功能,根据学生用户输入的学号进行搜索并进行详细展示)

  1. Gui.DepartSwing包中有2个类:

      DepartSwing类(院系管理功能,对现有的院系班级进行展示,以及根据选中的班级查询当前选中班级的人数总数。)

  DepartSwingStu类(院系管理功能,对现有的院系班级进行展示,以及根据选中的班级查询当前选中班级的人数总数。)

  1. Gui.InsertSwing包中有1个类:

      InsertSwing类(插入函数,插入新的数据,插入成功后将刷新菜单,生成插入后的信息总表在菜单)

  1. Gui.MeunSwing包中有2个类:

    MenuSwing类(菜单显示页面,设置管理员账户菜单布局以及各功能的按钮);

    MenuSwingStu类(菜单显示页面,设置学生账户菜单布局以及各功能的按钮);

  1. Gui,UpdateSwing包中有1个类:

 UpdateSwing类(修改功能页面,修改选中的学号,可以修改学生的姓名,性别,籍贯,政治面貌以及班级)

需要自行修改内容

1.数据库的建立:(列名也要相同,否则里面的sql语句都要修改)

user表(存放管理员账户密码)如图:

《学籍信息管理系统》java+mysql+gui实现(全套免费代码+保姆教学+60页实验报告)

 studentuser(存放学生账户密码),如图:

《学籍信息管理系统》java+mysql+gui实现(全套免费代码+保姆教学+60页实验报告)

 studentinfor(学生基础信息表),如图:

《学籍信息管理系统》java+mysql+gui实现(全套免费代码+保姆教学+60页实验报告)

 depart(学生院系信息表,班级名是学生基础信息表的外键),如图:

《学籍信息管理系统》java+mysql+gui实现(全套免费代码+保姆教学+60页实验报告)

 还可以添加级联关系,也就是在建表语句班级名后加入on update cascade。(当修改学生院系表的班级名时也会自动修改学生基础信息表的班级,而当添加入不存在于depart表中的班级名时,由于外键的约束将会添加失败,保证了表格信息的安全性和合理性)

2.修改jdbc配置(由于每个人的数据库密码用户等不同)

担心修改的麻烦,建立了一个资源,可以直接在资源修改全部jdbc的连接。

在src目录下找到jdbc.properties资源

《学籍信息管理系统》java+mysql+gui实现(全套免费代码+保姆教学+60页实验报告)

 3.自定义项目背景图路径(也可以不管)

图片内容可以直接复制后粘贴在src目录下的images包中,然后在下面标记出来的这三个类中找到图片右边这句代码。

《学籍信息管理系统》java+mysql+gui实现(全套免费代码+保姆教学+60页实验报告)

 将代码绿色部分(也就是双引号内)的内容删除,替换成images/你想加入的背景图片名称(记得不要忘记图片格式,比如名称后加“.jpg”)。

数据库结构设计

学生学籍管理系统采用的数据库中有四张表,分别为学生信息表、院系表、管理员账户表、学生账户表。

系统详细设计:

《学籍信息管理系统》java+mysql+gui实现(全套免费代码+保姆教学+60页实验报告)

测试结果:

登录页面 

《学籍信息管理系统》java+mysql+gui实现(全套免费代码+保姆教学+60页实验报告)

 验证码验证

《学籍信息管理系统》java+mysql+gui实现(全套免费代码+保姆教学+60页实验报告)

 管理员菜单

《学籍信息管理系统》java+mysql+gui实现(全套免费代码+保姆教学+60页实验报告)文章来源地址https://www.toymoban.com/news/detail-482551.html

学生菜单

《学籍信息管理系统》java+mysql+gui实现(全套免费代码+保姆教学+60页实验报告)

关键功能代码:

LoginFrame类://登录页面的设置
package Gui.LoginSwing;

import Gui.LoginSwing.LoginTry.LoginTry;

import javax.imageio.ImageIO;
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;

/**
 * 登录页面的gui
 */
public class LoginFrame extends JFrame {
    //初始化,设置登录页面显示失败弹窗
    public LoginFrame(){
        try {
            init();
        } catch (Exception e) {
            System.out.println("页面加载失败");
            throw new RuntimeException(e);
        }
    }

    //登录页面布局
    void init() throws Exception{
        //设置窗口的内容
        BackGroundPanel bgPanel = new BackGroundPanel(ImageIO.read(new File(ClassLoader.getSystemResource("images/v2-8299d5eae2d7c4ac66450baad1a1496a_r.jpg").toURI())));
        bgPanel.setBounds(0,0,400,250);
        //组装登录相关元素,使用盒式布局
        Box vBox = Box.createVerticalBox();

        //组装标题
        Box TBox = Box.createHorizontalBox();
        TBox.add(Box.createHorizontalStrut(-10));
        JLabel null1 = new JLabel("   ");
        JLabel Titile = new JLabel("学生信息管理系统");
        Titile.setFont(new Font("微软雅黑",Font.BOLD,18));
        Titile.setForeground(new Color(120,150,4));
        TBox.add(null1);
        TBox.add(Titile);

        //组装用户名
        Box uBox = Box.createHorizontalBox();
        JLabel uLabel = new JLabel("用户名:");
        JTextField uField = new JTextField(15);
        uBox.add(uLabel);
        uBox.add(Box.createHorizontalStrut(20));
        uBox.add(uField);

        //组装密码
        Box pBox = Box.createHorizontalBox();
        JLabel pLabel = new JLabel("  密 码:");

        JTextField pField = new JTextField(15);
        pBox.add(pLabel);
        pBox.add(Box.createHorizontalStrut(20));
        pBox.add(pField);

        //组装按钮
        Box btnBox = Box.createHorizontalBox();
        JButton loginBtn = new JButton("登录");
        JButton registerB = new JButton("退出");
        btnBox.add(registerB);
        btnBox.add(Box.createHorizontalStrut(50));
        btnBox.add(loginBtn);

        //组装单选按钮
        Box JRBox = Box.createHorizontalBox();
        ButtonGroup group = new ButtonGroup();
        JRadioButton user = new JRadioButton("管理员");
        JRadioButton Stuuser = new JRadioButton("学生");
        group.add(user);
        group.add(Stuuser);
        JRBox.add(user);
        JRBox.add(Box.createHorizontalStrut(20));
        JRBox.add(Stuuser);

        //将所有组件组装起来
        vBox.add(Box.createVerticalStrut(30));
        vBox.add(TBox);
        vBox.add(Box.createVerticalStrut(20));
        vBox.add(uBox);
        vBox.add(Box.createVerticalStrut(20));
        vBox.add(pBox);
        vBox.add(Box.createVerticalStrut(10));
        vBox.add(JRBox);
        vBox.add(Box.createVerticalStrut(20));
        vBox.add(btnBox);


        bgPanel.add(vBox);
        add(bgPanel);
        pack();

        //定义变量来记录单选按钮的选择内容,当choice数组第一个数是1时表示选择了管理员账号,2表示选择登录学生账号
        final int[] choice = {0};
        //单选按钮的监听器:登录管理员账号或者是学生账号
        user.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                choice[0] = 1;
            }
        });
        Stuuser.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                choice[0] = 2;
            }
        });

        //验证码查验并验证密码
        loginBtn.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                if (choice[0] == 0){//弹出当前单选按钮为选择登录的账户类型的提醒
                    JOptionPane.showMessageDialog(null, "请选择登录账户类型", "注意",
                            JOptionPane.WARNING_MESSAGE);
                }else {
                    //获取用户输入的数据
                    String UserName = uField.getText().trim();
                    String PassWord = pField.getText().trim();
                    //验证码验证
                    //flag为登录验证器,当登录成功时关闭登录页面,否则则不关闭
                    new LoginTry(choice, UserName, PassWord);
                }
            }
        });

        //退出系统
        registerB.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                JOptionPane.showMessageDialog(null,"退出成功,欢迎下次登录");
                System.exit(0);
            }
        });
    }
}

到了这里,关于《学籍信息管理系统》java+mysql+gui实现(全套免费代码+保姆教学+60页实验报告)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 图书信息管理系统(JAVA版)连接MySQL数据库+GUI

    本次项目是实现的一个图书信息管理系统,功能算不上太多,但也比较齐全。 随着社会的发展,人们对知识的需求也在不断增长。书籍作为人们获取并增长知识的主要途径,使得书城,书店在人们的生活中占有了一定的位置。但是近几年,随着书量的不断增长,造成了图书挤

    2024年02月04日
    浏览(51)
  • 基于java的学籍管理系统设计与实现

    基于java的学籍管理系统设计与实现 研究背景: 随着教育信息化的不断推进,学生的学籍管理成为高校和教育机构的一项重要工作。传统的学籍管理方式存在着很多问题,如信息共享性差、数据处理效率低、信息准确度不高、查询和统计困难等。为了解决这些问题,基于Jav

    2024年02月02日
    浏览(43)
  • JAVA GUI 学生信息管理系统(Swing)

    一、JAVA GUI 项目介绍 ​ GUI 是指图形用户界面显示的计算机操作用户界面,GUI主要有两个核心库,分别是AWT和Swing,本项目就是使用Swing进行开发。项目基于Swing,使用JDBC操作数据库,并且在程序运行阶段创建数据库表结构信息,可做为JAVA课程实训。 容器 ​ 容器是组件的子

    2024年02月04日
    浏览(57)
  • JAVA+GUI界面+MysSQL的学生信息管理系统

    本文将介绍如何使用Java Swing GUI库和MySQL数据库来编写一个简单的学生信息管理系统,同时也将讲解GUI的基本布局、事件处理和MySQL数据库的连接、数据操作等知识。编写java和sql语句需要安装 JDK 和 MySQL 数据库。 首先是 系统登录界面 ,用户选择账号类型(教师账号、学生账号

    2024年02月04日
    浏览(45)
  • 基于java的学籍管理系统设计与实现(源代码+数据库+部署文档+部署视频)

    目  录 1 引言............................................................. 1 2 可行性分析及总体设计原则......................................... 3 2.1 可行性分析...................................................... 3 2.1.1 技术可行性................................................... 3 2.1.2 经济可行性........................

    2024年02月03日
    浏览(72)
  • 【Java:JDBC+MySQL实现学生信息管理系统】

    此次使用Java JDBC+MySQL数据库实现一个简易的学生管理系统(没有前端界面)。 Java数据库连接,(Java Database Connectivity,简称JDBC)是Java语言中用来规范客户端程序如何来访问数据库的应用程序接口,提供了诸如查询和更新数据库中数据的方法。JDBC也是Sun Microsystems的商标。我

    2024年02月05日
    浏览(61)
  • 面向对象程序设计(Java)课程设计——学生信息管理系统(GUI+文件)

    一、团队成员及任务 组长:宗庆亮  计科(智能)22-1  202203200021 负责模块:静态登录界面实现以及学生信息系统管理界面的创建 组员:郑金洲  计科(智能)22-1  202203200022 负责模块:增加,删除,修改以及查询功能的实现 团队博客:面向对象程序设计(Java)课程设计——学生

    2024年02月03日
    浏览(56)
  • Python实现学生信息管理系统V3.0(GUI界面)

    关于“学生信息管理系统”的基本思路和详细过程,请看V1.0版本: Python实现学生信息管理系统V1.0_︶ㄣ释然的博客-CSDN博客 本文是关于学生信息管理系统的简易版以及具体内容具体思路的详细讲解,简单易理解、纯逻辑实现、没有复杂的第三方库,适合新手小白练手 https:/

    2024年02月09日
    浏览(42)
  • 史上最详细的JAVA学生信息管理系统(MySQL实现)

    为了巩固Java的学习写了一个基于MVC设计模式的学生管理系统。 简单介绍一下MVC设计模式: 1、M也就是Model 模型层(也叫数据层)主要是通过这个类来进行数据的操作。 2、V是Views 视图层,主要就是来显示页面信息。 3、C是Controller控制器,主要是用来做流程调度。 开发工具:

    2024年02月08日
    浏览(48)
  • 基于Python guI的学生信息管理系统的设计与实现

            讲述的是一个使用Python GUI的学习资料管理工具。通过使用Python的Tkinter库和mysql数据库,这个工具可以方便地记录、检索、更新学习资料。本文详细描述了系统的架构设计和实现过程,并对系统进行了功能测试和性能测试。结果表明,该系统具有良好的用户界面和

    2024年02月03日
    浏览(40)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包