基于Java+MYSQL+GUI的学生信息管理系统

源码编号:A-I00002
项目类型:Java SE项目(GUI图形界面)非开源
项目名称:基于Java的学生信息管理系统(student_sys)
当前版本:V2.0.1版本
开发语言:java语言
开发工具:Intellij IDEA
运行工具:Intellij IDEA完美兼容运行,Eclipse不是很友好支持
开发技术:swing、JFrame、Jdbc
项目架构:C/S
数 据 库:Mysql5.5/5.7/8.0版本
数据库表数量:2张表
是否有Eclipse版本:有
是否有代码注释:有
携带服务:远程调试服务和指导服务(问题答疑和指导)
适用场景:课程设计参考学习
功能描述:本系统属于的Java的GUI图形化界面程序,登录之后具有对学生信息增删改查的操作。

核心代码:

 


package edu.school.view;

import java.awt.BorderLayout;

import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JPasswordField;
import javax.swing.JTextField;

import edu.school.entity.AppConstants;
import edu.school.entity.DAO;
import edu.school.dao.BaseDAO;
import edu.school.dao.AdminDAO;

/**
 * 模块说明: 登录界面
 * 
 */
public class LoginView extends JFrame {

	private static final long serialVersionUID = -5278598737087831336L;
	private JPanel jPanelCenter, jPanelSouth;
	private JTextField username;
	private JPasswordField password;
	private JButton loginButton, resetButton;

	public LoginView() {
		init();
	}

	private void init() {
		this.setTitle("Login");

		jPanelCenter = new JPanel();
		jPanelCenter.setLayout(new GridLayout(3, 2));
		jPanelCenter.add(new JLabel(AppConstants.LOGIN_USERNAME));
		username = new JTextField();
		jPanelCenter.add(username);
		jPanelCenter.add(new JLabel(AppConstants.LOGIN_PASSWORD));
		password = new JPasswordField();
		// enter key listener
		password.addKeyListener(new LoginListener());
		jPanelCenter.add(password);
		jPanelCenter.add(new JLabel("----------------------------------------------"));
		jPanelCenter.add(new JLabel("----------------------------------------------"));

		jPanelSouth = new JPanel();
		jPanelSouth.setLayout(new GridLayout(1, 2));
		loginButton = new JButton(AppConstants.LOGIN);
		loginButton.addActionListener(new ActionListener() {
			@Override
			public void actionPerformed(ActionEvent e) {
				check();
			}
		});
		jPanelSouth.add(loginButton);
		resetButton = new JButton(AppConstants.RESET);
		resetButton.addActionListener(new ActionListener() {
			@Override
			public void actionPerformed(ActionEvent e) {
				username.setText("");
				password.setText("");
			}
		});
		jPanelSouth.add(resetButton);

		this.add(jPanelCenter, BorderLayout.CENTER);
		this.add(jPanelSouth, BorderLayout.SOUTH);

		this.setDefaultCloseOperation(DISPOSE_ON_CLOSE);
		this.setBounds(450, 250, 375, 140);
		this.setResizable(false);
		this.setVisible(true);
	}

	private class LoginListener extends KeyAdapter {

		@Override
		public void keyPressed(KeyEvent e) {
			if (e.getKeyCode() == KeyEvent.VK_ENTER) {
				check();
			}
		}
	}

	private void check() {
		AdminDAO adminDAO = (AdminDAO) BaseDAO.getAbilityDAO(DAO.AdminDAO);
		if (adminDAO.queryForLogin(username.getText(), String.valueOf(password.getPassword()))) {
			dispose();
			new MainView();
		} else {
			username.setText("");
			password.setText("");
		}
	}

}

项目内容

在这里插入图片描述

项目骨架

在这里插入图片描述

数据库

在这里插入图片描述

登陆界面

在这里插入图片描述

添加学生信息

在这里插入图片描述

更改学生信息

在这里插入图片描述

学生信息主界面

在这里插入图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是一个使用Java编写的学生信息管理系统的示例,包括GUI界面和MySQL数据库的连接和操作: ```java import javax.swing.*; import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.sql.*; public class StudentManagementSystemGUI extends JFrame { private JTextField tfName, tfGender, tfIdClass, tfStunum; private JButton btnAdd, btnDelete, btnUpdate, btnSearch; private JTextArea taResult; private Connection conn; public StudentManagementSystemGUI() { setTitle("学生信息管理系统"); setSize(400, 300); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setLocationRelativeTo(null); JPanel panel = new JPanel(); panel.setLayout(new GridLayout(5, 2)); panel.add(new JLabel("姓名:")); tfName = new JTextField(); panel.add(tfName); panel.add(new JLabel("性别:")); tfGender = new JTextField(); panel.add(tfGender); panel.add(new JLabel("班级:")); tfIdClass = new JTextField(); panel.add(tfIdClass); panel.add(new JLabel("学号:")); tfStunum = new JTextField(); panel.add(tfStunum); btnAdd = new JButton("添加"); btnDelete = new JButton("删除"); btnUpdate = new JButton("更新"); btnSearch = new JButton("查询"); panel.add(btnAdd); panel.add(btnDelete); panel.add(btnUpdate); panel.add(btnSearch); taResult = new JTextArea(); taResult.setEditable(false); add(panel, BorderLayout.NORTH); add(new JScrollPane(taResult), BorderLayout.CENTER); btnAdd.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { addStudent(); } }); btnDelete.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { deleteStudent(); } }); btnUpdate.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { updateStudent(); } }); btnSearch.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { searchStudent(); } }); connectToDatabase(); } private void connectToDatabase() { try { Class.forName("com.mysql.jdbc.Driver"); String url = "jdbc:mysql://localhost:3306/student_db"; String username = "root"; String password = "123456"; conn = DriverManager.getConnection(url, username, password); } catch (Exception e) { e.printStackTrace(); } } private void addStudent() { String name = tfName.getText(); String gender = tfGender.getText(); String idClass = tfIdClass.getText(); String stunum = tfStunum.getText(); try { String sql = "INSERT INTO students (name, gender, id_class, stunum) VALUES (?, ?, ?, ?)"; PreparedStatement statement = conn.prepareStatement(sql); statement.setString(1, name); statement.setString(2, gender); statement.setString(3, idClass); statement.setString(4, stunum); statement.executeUpdate(); statement.close(); clearFields(); showMessage("学生信息添加成功!"); } catch (SQLException e) { e.printStackTrace(); showMessage("学生信息添加失败!"); } } private void deleteStudent() { String stunum = tfStunum.getText(); try { String sql = "DELETE FROM students WHERE stunum = ?"; PreparedStatement statement = conn.prepareStatement(sql); statement.setString(1, stunum); int rows = statement.executeUpdate(); statement.close(); clearFields(); if (rows > 0) { showMessage("学生信息删除成功!"); } else { showMessage("学生信息不存在!"); } } catch (SQLException e) { e.printStackTrace(); showMessage("学生信息删除失败!"); } } private void updateStudent() { String name = tfName.getText(); String gender = tfGender.getText(); String idClass = tfIdClass.getText(); String stunum = tfStunum.getText(); try { String sql = "UPDATE students SET name = ?, gender = ?, id_class = ? WHERE stunum = ?"; PreparedStatement statement = conn.prepareStatement(sql); statement.setString(1, name); statement.setString(2, gender); statement.setString(3, idClass); statement.setString(4, stunum); int rows = statement.executeUpdate(); statement.close(); clearFields(); if (rows > 0) { showMessage("学生信息更新成功!"); } else { showMessage("学生信息不存在!"); } } catch (SQLException e) { e.printStackTrace(); showMessage("学生信息更新失败!"); } } private void searchStudent() { String stunum = tfStunum.getText(); try { String sql = "SELECT * FROM students WHERE stunum = ?"; PreparedStatement statement = conn.prepareStatement(sql); statement.setString(1, stunum); ResultSet resultSet = statement.executeQuery(); if (resultSet.next()) { String name = resultSet.getString("name"); String gender = resultSet.getString("gender"); String idClass = resultSet.getString("id_class"); showMessage("姓名:" + name + "\n性别:" + gender + "\n班级:" + idClass); } else { showMessage("学生信息不存在!"); } resultSet.close(); statement.close(); } catch (SQLException e) { e.printStackTrace(); showMessage("学生信息查询失败!"); } } private void clearFields() { tfName.setText(""); tfGender.setText(""); tfIdClass.setText(""); tfStunum.setText(""); } private void showMessage(String message) { taResult.setText(message); } public static void main(String[] args) { SwingUtilities.invokeLater(new Runnable() { @Override public void run() { new StudentManagementSystemGUI().setVisible(true); } }); } } ``` 请注意,上述代码仅为示例,实际的学生信息管理系统可能需要根据具体需求进行修改和完善。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值