Java swing+MySQL实现的学生信息管理系统课程设计

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: 这款Java swing实现的学生信息管理系统和jsp版本的功能很相似,简单的实现了班级信息的增删改查,学生信息的增删改查,数据库采用的是mysql,jdk版本不限,是Java学习者学习参考非常好的一个小项目,下面我们来看看如何运行。

这款Java swing实现的学生信息管理系统和jsp版本的功能很相似,简单的实现了班级信息的增删改查,学生信息的增删改查,数据库采用的是mysql,jdk版本不限,是Java学习者学习参考非常好的一个小项目,下面我们来看看如何运行。


将项目导入到eclipse中;

正确导入项目后我们来看下包结构:分为Dao、model、view、util四个顶层包,采用的是mvc的设计模式。

第二部需要导入数据库,我们用的是navicat数据库管理软件,非常好用,建议大家也使用这个。

首先先新建一个名为db_student_swing的数据库,然后双击新建的数据库打开。

导入项目根目录下的sql文件,导入后刷新下可以看到数据表。

配置项目中数据库连接的用户名密码。

运行登录界面的程序,即LogOnFrm类。

下面我们来看看运行截图:

下面是登陆界面,登录密码默认是admin,admin,即用户名密码都是admin。

af7d8ad6aab8edab6b3fd000a09e4ed.png

登陆进去后的主界面:

e55d0d7b402f2c8180510017d15ff56.png


先看看班级信息的管理:

班级信息添加:


454a0294180f322ba008a7ceab310cd.png

班级信息列表,在这里可以选中某一行进行修改:

5f74475b5b4c5dcc745ad3db91e3aa7.png

下面我们来看看学生信息的管理:

添加学生信息:

bedb4aa74355ebae017f63b369d5f27.png


学生信息列表:


ce4f94b19d6b0841b01dcd92d62dbe6.png

选中一个学生信息后可以修改

968ed8d95484f30245bb44c77033411.png


删除一条记录:

0f316cfaadd7d55e775be07234442ba.png


以下相关源码可以自行忽略


package com.artisan.view;
import java.awt.BorderLayout;
import java.awt.EventQueue;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import javax.swing.JMenuBar;
import javax.swing.JMenu;
import javax.swing.JMenuItem;
import javax.swing.JOptionPane;
import javax.swing.ImageIcon;
import javax.swing.JDesktopPane;
import javax.swing.GroupLayout;
import javax.swing.GroupLayout.Alignment;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
public class MainFrm extends JFrame {
  private JPanel contentPane;
  private JDesktopPane table =null;
  /**
  * Create the frame.
  */
  public MainFrm() {
  setTitle("学生信息管理系统主界面");
  setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  setBounds(100, 100, 450, 300);
  JMenuBar menuBar = new JMenuBar();
  setJMenuBar(menuBar);
  JMenu mnNewMenu = new JMenu("\u57FA\u672C\u6570\u636E\u7EF4\u62A4");
  mnNewMenu.setIcon(new ImageIcon(MainFrm.class.getResource("/images/base.png")));
  menuBar.add(mnNewMenu);
  JMenu mnNewMenu_1 = new JMenu("班级信息管理");
  mnNewMenu_1.setIcon(new ImageIcon(MainFrm.class.getResource("/images/bookTypeManager.png")));
  mnNewMenu.add(mnNewMenu_1);
  JMenuItem menuItem = new JMenuItem("班级信息添加");
  menuItem.addActionListener(new ActionListener() {
    public void actionPerformed(ActionEvent arg0) {
    SchoolClassAddInterFrm bookTypeAddInterFrm=new SchoolClassAddInterFrm();
    bookTypeAddInterFrm.setVisible(true);
    table.add(bookTypeAddInterFrm);
    }
  });
  menuItem.setIcon(new ImageIcon(MainFrm.class.getResource("/images/add.png")));
  mnNewMenu_1.add(menuItem);
  JMenuItem menuItem_1 = new JMenuItem("班级信息维护");
  menuItem_1.addActionListener(new ActionListener() {
    public void actionPerformed(ActionEvent arg0) {
    SchoolClassManageInterFrm bookTypeManageInterFrm=new SchoolClassManageInterFrm();
    bookTypeManageInterFrm.setVisible(true);
    table.add(bookTypeManageInterFrm);
    }
  });
  menuItem_1.setIcon(new ImageIcon(MainFrm.class.getResource("/images/edit.png")));
  mnNewMenu_1.add(menuItem_1);
  JMenu mnNewMenu_2 = new JMenu("学生信息管理");
  mnNewMenu_2.setIcon(new ImageIcon(MainFrm.class.getResource("/images/bookManager.png")));
  mnNewMenu.add(mnNewMenu_2);
  JMenuItem menuItem_2 = new JMenuItem("学生信息添加");
  menuItem_2.addActionListener(new ActionListener() {
    public void actionPerformed(ActionEvent arg0) {
    StudentAddInterFrm bookAddInterFrm=new StudentAddInterFrm();
    bookAddInterFrm.setVisible(true);
    table.add(bookAddInterFrm);
    }
  });
  menuItem_2.setIcon(new ImageIcon(MainFrm.class.getResource("/images/add.png")));
  mnNewMenu_2.add(menuItem_2);
  JMenuItem menuItem_3 = new JMenuItem("学生信息维护");
  menuItem_3.addActionListener(new ActionListener() {
    public void actionPerformed(ActionEvent arg0) {
    StudentManageInterFrm bookManageInterFrm=new StudentManageInterFrm();
    bookManageInterFrm.setVisible(true);
    table.add(bookManageInterFrm);
    }
  });
  menuItem_3.setIcon(new ImageIcon(MainFrm.class.getResource("/images/edit.png")));
  mnNewMenu_2.add(menuItem_3);
  JMenuItem menuItem_4 = new JMenuItem("\u5B89\u5168\u9000\u51FA");
  menuItem_4.addActionListener(new ActionListener() {
    public void actionPerformed(ActionEvent e) {
    int result=JOptionPane.showConfirmDialog(null, "是否退出系统");
    if(result==0){
      dispose();
    }
    }
  });
  menuItem_4.setIcon(new ImageIcon(MainFrm.class.getResource("/images/exit.png")));
  mnNewMenu.add(menuItem_4);
  JMenu menu = new JMenu("关于系统");
  menu.setIcon(new ImageIcon(MainFrm.class.getResource("/images/about.png")));
  menuBar.add(menu);
  JMenuItem mntmjava = new JMenuItem("关于");
  mntmjava.addActionListener(new ActionListener() {
    public void actionPerformed(ActionEvent arg0) {
    ArtisanInterFrm java1234InterFrm=new ArtisanInterFrm();
    java1234InterFrm.setVisible(true);
    table.add(java1234InterFrm);
    }
  });
  mntmjava.setIcon(new ImageIcon(MainFrm.class.getResource("/images/about.png")));
  menu.add(mntmjava);
  contentPane = new JPanel();
  contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
  setContentPane(contentPane);
  contentPane.setLayout(new BorderLayout(0, 0));
  table = new JDesktopPane();
  contentPane.add(table, BorderLayout.CENTER);
  // 设置JFrame最大化
  this.setExtendedState(JFrame.MAXIMIZED_BOTH);
  }
}


相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
4天前
|
JavaScript Java 测试技术
Java项目基于ssm+vue.js的学生宿舍门禁信息管理系统附带文章和源代码设计说明文档ppt
Java项目基于ssm+vue.js的学生宿舍门禁信息管理系统附带文章和源代码设计说明文档ppt
14 0
|
5天前
|
Java 关系型数据库 MySQL
Java语言与MySQL数据库连接的技术性探讨
Java语言与MySQL数据库连接的技术性探讨
|
7天前
|
设计模式 Java 开发者
Java一分钟之-Swing组件:JTable, JTree, JTextArea
本文介绍了Java Swing的三个关键组件:`JTable`、`JTree`和`JTextArea`,用于数据展示和用户输入。`JTable`展示二维数据,如表格;`JTree`展示层次结构数据,如文件系统;`JTextArea`则用于多行文本输入和显示。每个组件都提供了示例代码,并列出常见问题及避免方法,如数据源未设置、滚动面板缺失等。理解并掌握这些组件,能帮助开发者创建高效用户界面。
24 0
|
7天前
|
设计模式 Java 容器
Java一分钟之-Swing基础:JFrame, JPanel, JButton
Java Swing教程介绍了构建桌面应用的关键组件:JFrame(顶级容器,显示主窗口)、JPanel(组合其他组件的容器)和JButton(交互元素)。文中通过示例代码展示了这些组件的使用,并列出常见问题及解决方法,如确保设置JFrame的可见性和关闭操作,正确添加组件至JPanel,以及为JButton添加事件监听器。理解这些基础将有助于开发功能完善的GUI应用。
8 0
|
12天前
|
SQL Java 关系型数据库
JavaWeb(JDBC编程)看这一篇就够了 —— 如何使用Java操作mysql数据库
JavaWeb(JDBC编程)看这一篇就够了 —— 如何使用Java操作mysql数据库
9 0
|
13天前
|
消息中间件 缓存 Java
【Java】全套云HIS(医院信息管理系统)可对接医保 采用云端SaaS模式部署
总体框架: SaaS应用,全浏览器访问 前后端分离,多服务协同 服务可拆分,功能易扩展
33 1
【Java】全套云HIS(医院信息管理系统)可对接医保 采用云端SaaS模式部署
|
16天前
|
监控 NoSQL Java
java云MES 系统源码Java+ springboot+ mysql 一款基于云计算技术的企业级生产管理系统
MES系统是生产企业对制造执行系统实施的重点在智能制造执行管理领域,而MES系统特点中的可伸缩、信息精确、开放、承接、安全等也传递出:MES在此管理领域中无可替代的“王者之尊”。MES制造执行系统特点集可伸缩性、精确性、开放性、承接性、经济性与安全性于一体,帮助企业解决生产中遇到的实际问题,降低运营成本,快速适应企业不断的制造执行管理需求,使得企业已有基础设施与一切可用资源实现高度集成,提升企业投资的有效性。
60 5
|
19天前
|
存储 关系型数据库 MySQL
《MySQL 入门教程》第 05 篇 账户和权限,Java高并发编程详解深入理解pdf
《MySQL 入门教程》第 05 篇 账户和权限,Java高并发编程详解深入理解pdf
|
5天前
|
存储 NoSQL 关系型数据库
mysql 数据库 基本介绍
mysql 数据库 基本介绍
|
23小时前
|
SQL 关系型数据库 MySQL
mysql 数据库导出导入到本地文件
mysql 数据库导出导入到本地文件