Java+学生信息管理系统+GUI+mysql 实现添加学生、删除学生、查询学生信息
时间: 2024-01-16 17:04:21 浏览: 32
这个项目需要分为前端GUI和后端数据库两个部分来实现。
1. 前端GUI实现:
可以使用Java Swing或JavaFX来实现一个基本的窗口界面,包括添加学生、删除学生、查询学生信息等按钮和输入框。
2. 后端数据库实现:
使用mysql数据库来存储学生信息,需要建立一个数据库和一个学生信息表,存储学生的姓名、学号、性别、年龄、班级等信息。
3. 实现添加学生功能:
当用户点击添加学生按钮时,系统应该弹出一个输入框,用户可以输入学生信息并点击保存按钮,将学生信息保存到数据库中。
4. 实现删除学生功能:
当用户点击删除学生按钮时,系统应该弹出一个提示框,询问用户是否确定删除该学生信息。如果用户确定删除,系统应该从数据库中删除该学生信息。
5. 实现查询学生信息功能:
当用户点击查询学生信息按钮时,系统应该弹出一个输入框,用户可以输入学生信息并点击查询按钮,系统应该从数据库中查询符合条件的学生信息并显示在界面上。
最后,需要将前端GUI和后端数据库连接起来,实现数据的读写和交互,使得整个学生信息管理系统能够正常运行。
相关问题
Java+学生信息管理系统+GUI+MySQL
以下是一个使用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);
}
});
}
}
```
请注意,上述代码仅为示例,实际的学生信息管理系统可能需要根据具体需求进行修改和完善。
Java+学生信息管理系统+GUI+mysql 实现添加学生、删除学生、查询学生信息代码
以下是Java实现学生信息管理系统的示例代码,包括GUI界面和mysql数据库操作。代码实现了添加学生、删除学生、查询学生信息的功能。
要运行此代码,需要安装mysql数据库和Java开发环境,并在mysql中创建名为“student”的数据库,其中包含名为“stu_info”的表,表结构如下:
CREATE TABLE `stu_info` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(20) DEFAULT NULL,
`gender` varchar(10) DEFAULT NULL,
`age` int(11) DEFAULT NULL,
`major` varchar(50) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
代码如下:
```
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.sql.*;
public class StudentManagementSystem extends JFrame implements ActionListener {
private static final long serialVersionUID = 1L;
Container container = getContentPane();
JLabel titleLabel = new JLabel("学生信息管理系统");
JLabel nameLabel = new JLabel("姓名:");
JLabel genderLabel = new JLabel("性别:");
JLabel ageLabel = new JLabel("年龄:");
JLabel majorLabel = new JLabel("专业:");
JTextField nameField = new JTextField();
JTextField genderField = new JTextField();
JTextField ageField = new JTextField();
JTextField majorField = new JTextField();
JButton addButton = new JButton("添加");
JButton deleteButton = new JButton("删除");
JButton queryButton = new JButton("查询");
JTextArea resultArea = new JTextArea();
public StudentManagementSystem() {
setLayoutManager();
setLocationAndSize();
addComponentsToContainer();
addActionEvent();
executeSQL("CREATE TABLE IF NOT EXISTS stu_info (id INT(11) PRIMARY KEY AUTO_INCREMENT, name VARCHAR(20), gender VARCHAR(10), age INT(11), major VARCHAR(50))");
}
public void setLayoutManager() {
container.setLayout(null);
}
public void setLocationAndSize() {
titleLabel.setBounds(180, 10, 200, 30);
nameLabel.setBounds(50, 70, 100, 30);
genderLabel.setBounds(50, 110, 100, 30);
ageLabel.setBounds(50, 150, 100, 30);
majorLabel.setBounds(50, 190, 100, 30);
nameField.setBounds(150, 70, 150, 30);
genderField.setBounds(150, 110, 150, 30);
ageField.setBounds(150, 150, 150, 30);
majorField.setBounds(150, 190, 150, 30);
addButton.setBounds(50, 250, 100, 30);
deleteButton.setBounds(180, 250, 100, 30);
queryButton.setBounds(310, 250, 100, 30);
resultArea.setBounds(50, 300, 360, 200);
}
public void addComponentsToContainer() {
container.add(titleLabel);
container.add(nameLabel);
container.add(genderLabel);
container.add(ageLabel);
container.add(majorLabel);
container.add(nameField);
container.add(genderField);
container.add(ageField);
container.add(majorField);
container.add(addButton);
container.add(deleteButton);
container.add(queryButton);
container.add(resultArea);
}
public void addActionEvent() {
addButton.addActionListener(this);
deleteButton.addActionListener(this);
queryButton.addActionListener(this);
}
@Override
public void actionPerformed(ActionEvent e) {
if (e.getSource() == addButton) {
String name = nameField.getText();
String gender = genderField.getText();
String age = ageField.getText();
String major = majorField.getText();
executeSQL("INSERT INTO stu_info(name, gender, age, major) VALUES('" + name + "', '" + gender + "', '" + age + "', '" + major + "')");
nameField.setText("");
genderField.setText("");
ageField.setText("");
majorField.setText("");
resultArea.setText("添加成功!");
} else if (e.getSource() == deleteButton) {
String name = nameField.getText();
executeSQL("DELETE FROM stu_info WHERE name='" + name + "'");
nameField.setText("");
genderField.setText("");
ageField.setText("");
majorField.setText("");
resultArea.setText("删除成功!");
} else if (e.getSource() == queryButton) {
String name = nameField.getText();
ResultSet rs = executeQuery("SELECT * FROM stu_info WHERE name='" + name + "'");
try {
if (rs.next()) {
String gender = rs.getString("gender");
String age = rs.getString("age");
String major = rs.getString("major");
genderField.setText(gender);
ageField.setText(age);
majorField.setText(major);
resultArea.setText("查询成功!");
} else {
resultArea.setText("未查询到该学生!");
}
} catch (SQLException ex) {
ex.printStackTrace();
}
}
}
public void executeSQL(String sql) {
Connection conn = null;
Statement stmt = null;
try {
Class.forName("com.mysql.jdbc.Driver");
conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/student", "root", "123456");
stmt = conn.createStatement();
stmt.executeUpdate(sql);
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
} finally {
try {
if (stmt != null) stmt.close();
if (conn != null) conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
public ResultSet executeQuery(String sql) {
Connection conn = null;
Statement stmt = null;
ResultSet rs = null;
try {
Class.forName("com.mysql.jdbc.Driver");
conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/student", "root", "123456");
stmt = conn.createStatement();
rs = stmt.executeQuery(sql);
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
return rs;
}
public static void main(String[] args) {
StudentManagementSystem frame = new StudentManagementSystem();
frame.setTitle("学生信息管理系统");
frame.setVisible(true);
frame.setBounds(100, 100, 500, 600);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setResizable(false);
}
}
```