用java写一个学生管理系统,需要通过javaswing录入和更新学生信息到mysql里,并可以提示重复学号录入,所有方法写在不同类里
时间: 2024-03-09 22:50:12 浏览: 56
好的,我可以为您提供一个基本的学生管理系统的框架。
首先,您需要建立一个名为"Student"的Java类,用于存储学生信息,例如姓名、学号、性别、年龄、入学时间等。
```java
public class Student {
private String name;
private int id;
private String gender;
private int age;
private Date admissionDate;
// 省略getter和setter
}
```
然后,您需要建立一个用于连接MySQL数据库的类,例如"DatabaseConnector"。在该类中,您需要编写用于连接数据库和执行SQL语句的方法。
```java
public class DatabaseConnector {
private Connection connection;
public DatabaseConnector() {
// 建立数据库连接
}
public void close() {
// 关闭数据库连接
}
public boolean insertStudent(Student student) {
// 向数据库插入学生信息
}
public boolean updateStudent(Student student) {
// 更新数据库中的学生信息
}
public boolean isIdExist(int id) {
// 判断学号是否已存在
}
}
```
接下来,您需要建立一个用于录入和更新学生信息的JavaSwing界面,例如"StudentManagementSystem"。在该界面中,您需要添加用于录入和更新学生信息的表单组件,例如文本框、下拉框、日期选择器等。
```java
public class StudentManagementSystem extends JFrame {
private JTextField nameField;
private JTextField idField;
private JComboBox<String> genderComboBox;
private JSpinner ageSpinner;
private JDatePickerImpl admissionDatePicker;
private JButton addButton;
private JButton updateButton;
public StudentManagementSystem() {
// 初始化界面组件
}
private void addButtonClicked() {
// 处理添加按钮点击事件
}
private void updateButtonClicked() {
// 处理更新按钮点击事件
}
}
```
最后,您需要将上述三个类组合起来,实现学生管理系统的功能。在"StudentManagementSystem"类中,您需要调用"DatabaseConnector"类中的方法,将录入的学生信息保存到MySQL数据库中。同时,您还需要对学号进行重复性校验,确保每个学生的学号是唯一的。
```java
public class StudentManagementSystem extends JFrame {
private DatabaseConnector databaseConnector;
public StudentManagementSystem() {
databaseConnector = new DatabaseConnector();
// 初始化界面组件
}
private void addButtonClicked() {
String name = nameField.getText();
int id = Integer.parseInt(idField.getText());
String gender = (String)genderComboBox.getSelectedItem();
int age = (int)ageSpinner.getValue();
Date admissionDate = (Date)admissionDatePicker.getModel().getValue();
if (databaseConnector.isIdExist(id)) {
JOptionPane.showMessageDialog(null, "该学号已存在,请重新输入!");
return;
}
Student student = new Student();
student.setName(name);
student.setId(id);
student.setGender(gender);
student.setAge(age);
student.setAdmissionDate(admissionDate);
if (databaseConnector.insertStudent(student)) {
JOptionPane.showMessageDialog(null, "学生信息添加成功!");
} else {
JOptionPane.showMessageDialog(null, "学生信息添加失败,请稍后重试!");
}
}
private void updateButtonClicked() {
String name = nameField.getText();
int id = Integer.parseInt(idField.getText());
String gender = (String)genderComboBox.getSelectedItem();
int age = (int)ageSpinner.getValue();
Date admissionDate = (Date)admissionDatePicker.getModel().getValue();
Student student = new Student();
student.setName(name);
student.setId(id);
student.setGender(gender);
student.setAge(age);
student.setAdmissionDate(admissionDate);
if (databaseConnector.updateStudent(student)) {
JOptionPane.showMessageDialog(null, "学生信息更新成功!");
} else {
JOptionPane.showMessageDialog(null, "学生信息更新失败,请稍后重试!");
}
}
public static void main(String[] args) {
StudentManagementSystem system = new StudentManagementSystem();
system.setVisible(true);
system.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
system.pack();
}
}
```
以上是一个基本的学生管理系统的框架,您可以根据需要进行修改和扩展。
阅读全文