jdbc写学生管理系统图形化界面
时间: 2023-07-07 16:36:38 浏览: 44
首先,要使用Java Swing或JavaFX等GUI框架来创建图形化界面。然后,使用JDBC连接数据库,将学生信息存储在数据库中。以下是一个简单的实现:
1. 创建GUI,包括标签、文本框、按钮等组件;
2. 创建一个数据库连接类,并在其中实现连接数据库的方法;
3. 创建一个学生类,包括学生的基本信息,如学号、姓名、性别、年龄等;
4. 创建一个学生管理类,包括添加学生、删除学生、修改学生、查询学生等方法;
5. 在GUI中,根据用户的操作,调用学生管理类中的方法,实现学生信息的增删改查。
下面是一个简单的示例代码:
``` java
import java.sql.*;
import java.util.*;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class StudentGUI extends JFrame {
// 定义组件
private JLabel label1, label2, label3, label4, label5;
private JTextField text1, text2, text3, text4, text5;
private JButton button1, button2, button3, button4;
// 构造方法
public StudentGUI() {
// 初始化组件
label1 = new JLabel("学号");
label2 = new JLabel("姓名");
label3 = new JLabel("性别");
label4 = new JLabel("年龄");
label5 = new JLabel("班级");
text1 = new JTextField(10);
text2 = new JTextField(10);
text3 = new JTextField(10);
text4 = new JTextField(10);
text5 = new JTextField(10);
button1 = new JButton("添加");
button2 = new JButton("删除");
button3 = new JButton("修改");
button4 = new JButton("查询");
// 添加组件
JPanel panel = new JPanel(new GridLayout(6, 2));
panel.add(label1);
panel.add(text1);
panel.add(label2);
panel.add(text2);
panel.add(label3);
panel.add(text3);
panel.add(label4);
panel.add(text4);
panel.add(label5);
panel.add(text5);
panel.add(button1);
panel.add(button2);
panel.add(button3);
panel.add(button4);
this.add(panel);
// 添加事件监听器
button1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
addStudent();
}
});
button2.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
deleteStudent();
}
});
button3.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
updateStudent();
}
});
button4.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
findStudent();
}
});
// 设置窗口属性
this.setTitle("学生管理");
this.setSize(400, 300);
this.setLocationRelativeTo(null);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setVisible(true);
}
// 添加学生
private void addStudent() {
String id = text1.getText();
String name = text2.getText();
String sex = text3.getText();
int age = Integer.parseInt(text4.getText());
String clazz = text5.getText();
Student student = new Student(id, name, sex, age, clazz);
StudentManager manager = new StudentManager();
int result = manager.addStudent(student);
if (result > 0) {
JOptionPane.showMessageDialog(this, "添加成功");
} else {
JOptionPane.showMessageDialog(this, "添加失败");
}
}
// 删除学生
private void deleteStudent() {
String id = text1.getText();
StudentManager manager = new StudentManager();
int result = manager.deleteStudent(id);
if (result > 0) {
JOptionPane.showMessageDialog(this, "删除成功");
} else {
JOptionPane.showMessageDialog(this, "删除失败");
}
}
// 修改学生
private void updateStudent() {
String id = text1.getText();
String name = text2.getText();
String sex = text3.getText();
int age = Integer.parseInt(text4.getText());
String clazz = text5.getText();
Student student = new Student(id, name, sex, age, clazz);
StudentManager manager = new StudentManager();
int result = manager.updateStudent(student);
if (result > 0) {
JOptionPane.showMessageDialog(this, "修改成功");
} else {
JOptionPane.showMessageDialog(this, "修改失败");
}
}
// 查询学生
private void findStudent() {
String id = text1.getText();
StudentManager manager = new StudentManager();
Student student = manager.findStudent(id);
if (student != null) {
text2.setText(student.getName());
text3.setText(student.getSex());
text4.setText(String.valueOf(student.getAge()));
text5.setText(student.getClazz());
} else {
JOptionPane.showMessageDialog(this, "查无此人");
}
}
public static void main(String[] args) {
new StudentGUI();
}
}
class Student {
private String id;
private String name;
private String sex;
private int age;
private String clazz;
public Student(String id, String name, String sex, int age, String clazz) {
this.id = id;
this.name = name;
this.sex = sex;
this.age = age;
this.clazz = clazz;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getClazz() {
return clazz;
}
public void setClazz(String clazz) {
this.clazz = clazz;
}
}
class StudentManager {
private Connection conn;
public StudentManager() {
try {
Class.forName("com.mysql.jdbc.Driver");
conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test", "root", "root");
} catch (Exception e) {
e.printStackTrace();
}
}
public int addStudent(Student student) {
int result = 0;
try {
String sql = "insert into student(id, name, sex, age, clazz) values(?, ?, ?, ?, ?)";
PreparedStatement ps = conn.prepareStatement(sql);
ps.setString(1, student.getId());
ps.setString(2, student.getName());
ps.setString(3, student.getSex());
ps.setInt(4, student.getAge());
ps.setString(5, student.getClazz());
result = ps.executeUpdate();
} catch (Exception e) {
e.printStackTrace();
}
return result;
}
public int deleteStudent(String id) {
int result = 0;
try {
String sql = "delete from student where id=?";
PreparedStatement ps = conn.prepareStatement(sql);
ps.setString(1, id);
result = ps.executeUpdate();
} catch (Exception e) {
e.printStackTrace();
}
return result;
}
public int updateStudent(Student student) {
int result = 0;
try {
String sql = "update student set name=?, sex=?, age=?, clazz=? where id=?";
PreparedStatement ps = conn.prepareStatement(sql);
ps.setString(1, student.getName());
ps.setString(2, student.getSex());
ps.setInt(3, student.getAge());
ps.setString(4, student.getClazz());
ps.setString(5, student.getId());
result = ps.executeUpdate();
} catch (Exception e) {
e.printStackTrace();
}
return result;
}
public Student findStudent(String id) {
Student student = null;
try {
String sql = "select * from student where id=?";
PreparedStatement ps = conn.prepareStatement(sql);
ps.setString(1, id);
ResultSet rs = ps.executeQuery();
if (rs.next()) {
student = new Student(rs.getString("id"), rs.getString("name"), rs.getString("sex"), rs.getInt("age"), rs.getString("clazz"));
}
} catch (Exception e) {
e.printStackTrace();
}
return student;
}
}
```
这是一个简单的学生管理系统,可以根据需求进行扩展。