JAVA学生信息管理系统(数据库实现)

简单介绍:

这次的项目是用数据库实现学生的信息管理系统,有三步组成,写项目>>链接数据库>>实现相关的操作

开发工具:eclipse、MySQL、navicat、mysql-connector-java-8.0.27

1.数据库建表

-- 创建数据库
CREATE DATABASE niit
DEFAULT CHARACTER SET utf8mb4;

SHOW DATABASES;

-- 使用数据库niit
USE niit;

-- 创建表Student
CREATE TABLE Student
(
	ID INT PRIMARY KEY, 
	NAME VARCHAR(4),
	GENDER CHAR(1),
	DOB DATE,
	BATCH INT
);

-- 插入记录
INSERT INTO Student VALUES
(1,'张','男','1988-1-2',1),
(2,'李四','女','1988-12-3',1),
(3,'王五','男','1978-11-1',1),
(4,'若若','女','1989-2-5',2),
(5,'夏春','女','1998-4-3',2),
(6,'梅花','女','1999-12-6',2);

-- 查看表中所有记录 语法:select * from 表名
SELECT * FROM Student;

2,相关代码(主页面+增删查改)

(1)主页面

package studentManage;

import java.awt.Color;
import java.awt.EventQueue;
import java.awt.Font;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;

public class MainFrame extends JFrame {

	private JPanel contentPane;

	/**
	 * Launch the application.
	 */
	// 有了main函数才可以单独运行
	public static void main(String[] args) {
		EventQueue.invokeLater(new Runnable() {
			public void run() {
				try {
					MainFrame frame = new MainFrame();
					frame.setVisible(true);
				} catch (Exception e) {
					e.printStackTrace();
				}
			}
		});
	}

	/**
	 * Create the frame.
	 */
	public MainFrame() {
		// 设置大小不可改变
		setResizable(false);
		// 设置标题
		setTitle("学生管理系统");
		// 由于这是主页面,所有当主页面关闭的时候,程序就直接退出
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		// setBounds(int x,int y,int width,int height);
		// x 和 y 是窗口打开时的位置
		// width 和 height 是窗口打宽度和高度
		setBounds(100, 100, 450, 350);
		// setLocationRelativeTo(c)
		// 设置窗口相对于 c 的位置,当 c 为空或者 null 时,默认为是相对于屏幕中央
		setLocationRelativeTo(null);
		// 实例化一个 pane
		contentPane = new JPanel();
		contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
		setContentPane(contentPane);
		contentPane.setLayout(null);
		
		JLabel lblNewLabel = new JLabel("学生管理系统");
		lblNewLabel.setForeground(Color.RED);
		lblNewLabel.setFont(new Font("宋体", Font.BOLD, 25));
		lblNewLabel.setBounds(140, 10, 163, 44);
		contentPane.add(lblNewLabel);
		
		JButton addButton = new JButton("添加学生");
		// addActionListener 注册监听器
		addButton.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				// 设置新窗口可见
				new AddFrame().setVisible(true);
			}
		});
	
		addButton.setFont(new Font("宋体", Font.PLAIN, 18));
		addButton.setBounds(167, 64, 114, 37);
		contentPane.add(addButton);
		
		JButton changeButton = new JButton("修改信息");
		changeButton.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				// 同上
				new ChangeFrame().setVisible(true);
			}
		});
		changeButton.setFont(new Font("宋体", Font.PLAIN, 18));
		changeButton.setBounds(167, 121, 114, 37);
		contentPane.add(changeButton);
		
		JButton deleteButton = new JButton("删除学生");
		deleteButton.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				// 同上
				new DeleteFrame().setVisible(true);
			}
		});
		deleteButton.setFont(new Font("宋体", Font.PLAIN, 18));
		deleteButton.setBounds(167, 180, 114, 37);
		contentPane.add(deleteButton);
		
		JButton queryButton = new JButton("查询信息");
		queryButton.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				// 同上
				new QueryFrame().setVisible(true);
			}
		});
		queryButton.setFont(new Font("宋体", Font.PLAIN, 18));
		queryButton.setBounds(167, 240, 114, 37);
		contentPane.add(queryButton);
	}
}

(2)添加界面

package studentManage;

import java.awt.EventQueue;
import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.sql.SQLException;

import javax.swing.BoxLayout;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JTextField;
import javax.swing.border.EmptyBorder;

public class AddFrame extends JFrame {

	private JPanel contentPane;
	private JTextField idField;
	private JTextField nameField;
	private JTextField genderField;
	private JTextField dobField;
	private JTextField batchField;

	/**
	 * Launch the application.
	 */
	public static void main(String[] args) {
		EventQueue.invokeLater(new Runnable() {
			public void run() {
				try {
					AddFrame frame = new AddFrame();
					frame.setVisible(true);
				} catch (Exception e) {
					e.printStackTrace();
				}
			}
		});
	}

	/**
	 * Create the frame.
	 */
	public AddFrame() {
		// 和前面类似
		setResizable(false);
		setTitle("添加学生");
		// 这个地方,添加学生只是这个程序的一部分,所以当关闭这部分的时候,程序不直接退出,只是关闭该部分程序
		setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
		setBounds(100, 100, 450, 470);
		setLocationRelativeTo(null);
		contentPane = new JPanel();
		contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
		setContentPane(contentPane);
		contentPane.setLayout(new BoxLayout(contentPane, BoxLayout.Y_AXIS));
		
		JPanel panel = new JPanel();
		contentPane.add(panel);
		panel.setLayout(null);
		
		JLabel TitleLabel = new JLabel("请输入新学生的信息:");
		TitleLabel.setFont(new Font("宋体", Font.BOLD, 20));
		TitleLabel.setBounds(71, 34, 220, 45);
		panel.add(TitleLabel);
		
		JLabel idLabel = new JLabel("学号:");
		idLabel.setFont(new Font("宋体", Font.PLAIN, 16));
		idLabel.setBo
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值