Java 基于MySQL的学生信息管理系统

本文档介绍了一个使用Java Swing和MySQL创建的学生信息管理系统。开发者通过该项目实践了数据库的CRUD操作,并提供了Swing界面的简易教程。文章中详细记录了在开发过程中遇到的问题及其解决方案,包括JDBC加载失败、SSL连接警告、时区错误和设置自动获取当前时间等。此外,还分享了部分关键代码片段,包括添加、查询、更改和删除数据的示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

说明

1.本文适用对象:想要做项目练一下手,检验一下自己所学的小白程序员。

2.本文开发环境:jdk10+MySQL8.0+idea 2018

3.本文完成内容:MySQL的curd以及简单界面的制作(Swing)。

4.如果有必要,可以私信笔者给出源代码以及数据库文件。

正文

在观看本文章前,建议具备知识有:基本的MySQL的curd常识,基本Java知识点的了解,以及基本Swing界面的制作(可以边看边对照API).下面开始正文讲解:

在设计本系统时,需要做出基本的登陆界面,那么需要基本了解到容器的概念-顶层容器和中间容器,建议观看blog:https://blog.youkuaiyun.com/liujun13579/article/category/1172073 里面有超级详细的讲解。

看完之后,回归到顶层容器的设计,我们需要在顶层容器中定义的内容:

 

  1. 初始界面的名称;
  2. 初始界面的大小;
  3. 初始界面刚显示出来位于屏幕的何方;
  4. 初始的退出方式等。

各个功能键是定义在中间容器JPanel中,然后依附于顶层容器。

在程序运行过程中需要对按键进行实时的检测,判断哪个按键被按,则执行具体的方法。

快捷入口(本系统在编写过程中遇到的问题,如有相同,可以直接查看内容,否则跳过就好)

问题1:JDBC加载失败(重点)

https://blog.youkuaiyun.com/weixin_38627405/article/details/73824733

https://www.cnblogs.com/Xieyang-blog/p/8489400.html

问题2:

MYSQL:WARN: Establishing SSL connection without server's identity verification is not recommended.

解决办法:https://blog.youkuaiyun.com/u010429286/article/details/77750177

问题3:

mysql运行报The server time zone value 'Öйú±ê׼ʱ¼ä' is unrecognized or represents more than one time zone的解决方法

解决方法:https://www.cnblogs.com/ljy-20180122/p/9157912.html

问题4:MySQL如何设置自动获取当前时间

解决办法:https://www.cnblogs.com/lhj588/p/4245719.html

下面直接给出本设计中的代码(有较为详细的注释):

首先是基础界面示例代码:

package FirstVision;

import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

/**
 * @className:Window
 * @Description:学生信息管理系统的登陆界面
 * @author:TAO
 * @Date:2018/6/26 8:40
 */
public class Window {
    public static void main(String[] args) {
        JFrame jFrame=new JFrame("学生信息管理系统");
        Dimension dimension=new Dimension(400,300);
        Point point=new Point(350,150);

        jFrame.setSize(dimension);
        jFrame.setLocation(point);//设置组件的位置
        jFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        //jFrame.setVisible(true);

        JButton button1=new JButton("添加");
        JButton button2=new JButton("修改");
        JButton button3=new JButton("查询");
        JButton button4=new JButton("删除");
        JButton button5=new JButton("浏览");//定义五个功能键

        FlowLayout flowLayout=new FlowLayout(FlowLayout.LEFT,10,10);//设置对其方式以及确定的左右上下间隙
        JPanel panel=new JPanel(flowLayout);
        panel.add(button1);
        panel.add(button2);
        panel.add(button3);
        panel.add(button4);
        panel.add(button5);

        jFrame.setContentPane(panel);

        button1.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                Add add=new Add();
            }
        });
        button2.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                Change change=new Change();
            }
        });
        button3.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                Ask ask=new Ask();
            }
        });
        button4.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                Delete delete=new Delete();
            }
        });
        button5.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                Look look=new Look();
            }
        });
        jFrame.setVisible(true);//JAVA写界面程序的时候,要把setVisible(true)放到最后面,不然在这句之后添加的组件有时候不显示,需要重新刷新。
    }
}

再是MySQL的curd和查看整个表内容的方法

首先是添加:

package FirstVision;

import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.sql.*;

/**
 * @className:Add
 * @Description:数据库添加
 * @author:TAO
 * @Date:2018/6/26 8:54
 */
public class Add extends JFrame {
    private static final long serialVersionUID=-1928970409928880648L;

    JLabel jlnumber=new JLabel("学号:");
    JLabel jlname=new JLabel("姓名:");
    JLabel jlsex=new JLabel("性别:");
    JLabel jlbirthday=new JLabel("生日:");
    JLabel jldepartment=new JLabel("学院:");

    JTextField jtnumber=new JTextField("",20);
    JTextField jtname=new JTextField("",20);
    JTextField jtsex=new JTextField("",20);
    JTextField jtbirthday=new JTextField("",20);
    JTextField jtdepartment=new JTextField("",20);

    JButton buttonadd=new JButton("添加");
    JButton buttonreturn=new JButton("返回");

    public Add(){
        JPanel jpnumber=new JPanel();
        JPanel jpname=new JPanel();
        JPan
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值