用Java编写一个学生管理系统
时间: 2023-08-21 20:04:17 浏览: 49
好的,下面是一个简单的Java学生管理系统的代码示例,实现了基本的学生信息管理功能。该系统使用了Java的Swing界面库和MySQL数据库。
首先,我们需要创建一个名为"Student"的Java类,来表示学生对象。这个类包含学生的基本信息,例如姓名、性别、年龄和学号等等。代码如下:
```java
public class Student {
private String name;
private String gender;
private int age;
private String id;
public Student(String name, String gender, int age, String id) {
this.name = name;
this.gender = gender;
this.age = age;
this.id = id;
}
public String getName() {
return name;
}
public String getGender() {
return gender;
}
public int getAge() {
return age;
}
public String getId() {
return id;
}
}
```
接下来,我们需要创建一个名为"StudentManager"的Java类,来实现学生信息的管理。这个类包括添加学生、删除学生、修改学生信息和查询学生信息等方法。这些方法利用MySQL数据库来存储和操作学生信息。代码如下:
```java
import java.sql.*;
public class StudentManager {
private Connection conn;
private Statement stmt;
public StudentManager() {
String url = "jdbc:mysql://localhost:3306/student";
String user = "root";
String password = "123456";
try {
Class.forName("com.mysql.jdbc.Driver");
conn = DriverManager.getConnection(url, user, password);
stmt = conn.createStatement();
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
}
public void addStudent(Student student) {
String sql = "INSERT INTO student_info (name, gender, age, id) VALUES ('" + student.getName() + "', '" + student.getGender() + "', " + student.getAge() + ", '" + student.getId() + "')";
try {
stmt.executeUpdate(sql);
} catch (SQLException e) {
e.printStackTrace();
}
}
public void deleteStudent(String id) {
String sql = "DELETE FROM student_info WHERE id = '" + id + "'";
try {
stmt.executeUpdate(sql);
} catch (SQLException e) {
e.printStackTrace();
}
}
public void updateStudent(Student student) {
String sql = "UPDATE student_info SET name = '" + student.getName() + "', gender = '" + student.getGender() + "', age = " + student.getAge() + " WHERE id = '" + student.getId() + "'";
try {
stmt.executeUpdate(sql);
} catch (SQLException e) {
e.printStackTrace();
}
}
public Student queryStudent(String id) {
String sql = "SELECT * FROM student_info WHERE id = '" + id + "'";
try {
ResultSet rs = stmt.executeQuery(sql);
if (rs.next()) {
String name = rs.getString("name");
String gender = rs.getString("gender");
int age = rs.getInt("age");
Student student = new Student(name, gender, age, id);
return student;
}
} catch (SQLException e) {
e.printStackTrace();
}
return null;
}
}
```
最后,我们需要创建一个名为"StudentGUI"的Java类,来实现图形用户界面。这个类包括添加学生、删除学生、修改学生信息和查询学生信息等操作的界面。代码如下:
```java
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class StudentGUI extends JFrame implements ActionListener {
private JTextField nameField, genderField, ageField, idField;
private JButton addButton, deleteButton, updateButton, queryButton;
private StudentManager manager;
public StudentGUI() {
manager = new StudentManager();
JPanel panel = new JPanel();
panel.setLayout(new GridLayout(5, 2));
panel.add(new JLabel("姓名:"));
nameField = new JTextField(20);
panel.add(nameField);
panel.add(new JLabel("性别:"));
genderField = new JTextField(20);
panel.add(genderField);
panel.add(new JLabel("年龄:"));
ageField = new JTextField(20);
panel.add(ageField);
panel.add(new JLabel("学号:"));
idField = new JTextField(20);
panel.add(idField);
addButton = new JButton("添加");
addButton.addActionListener(this);
panel.add(addButton);
deleteButton = new JButton("删除");
deleteButton.addActionListener(this);
panel.add(deleteButton);
updateButton = new JButton("修改");
updateButton.addActionListener(this);
panel.add(updateButton);
queryButton = new JButton("查询");
queryButton.addActionListener(this);
panel.add(queryButton);
getContentPane().add(panel);
pack();
setVisible(true);
}
public void actionPerformed(ActionEvent e) {
if (e.getSource() == addButton) {
String name = nameField.getText();
String gender = genderField.getText();
int age = Integer.parseInt(ageField.getText());
String id = idField.getText();
Student student = new Student(name, gender, age, id);
manager.addStudent(student);
} else if (e.getSource() == deleteButton) {
String id = idField.getText();
manager.deleteStudent(id);
} else if (e.getSource() == updateButton) {
String name = nameField.getText();
String gender = genderField.getText();
int age = Integer.parseInt(ageField.getText());
String id = idField.getText();
Student student = new Student(name, gender, age, id);
manager.updateStudent(student);
} else if (e.getSource() == queryButton) {
String id = idField.getText();
Student student = manager.queryStudent(id);
if (student != null) {
nameField.setText(student.getName());
genderField.setText(student.getGender());
ageField.setText(Integer.toString(student.getAge()));
}
}
}
public static void main(String[] args) {
new StudentGUI();
}
}
```
这个学生管理系统实现了基本的学生信息管理功能,包括添加学生、删除学生、修改学生信息和查询学生信息等操作。你可以根据自己的需要来修改和改进这个系统。