java学生信息管理mysqlgui
时间: 2023-06-05 14:48:07 浏览: 80
Java学生信息管理MySQLGUI是一种基于Java语言开发的学生信息管理系统,它使用MySQL数据库作为数据存储的后端,提供了图形用户界面(GUI)来方便用户进行操作。该系统可以实现学生信息的录入、查询、修改和删除等功能,同时还可以生成各种报表和统计数据,方便学校管理人员进行数据分析和决策。该系统具有易用性、可扩展性和安全性等优点,是一种非常实用的教育管理工具。
相关问题
JAVA学生信息管理系统GUI界面连接MYSQL代码
以下是一个简单的Java学生信息管理系统GUI界面连接MySQL数据库的代码示例:
```java
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import javax.swing.JOptionPane;
public class StudentDAO {
private static final String DRIVER_CLASS = "com.mysql.jdbc.Driver";
private static final String URL = "jdbc:mysql://localhost:3306/studentdb";
private static final String USERNAME = "root";
private static final String PASSWORD = "password";
public static Connection getConnection() throws SQLException {
try {
Class.forName(DRIVER_CLASS);
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
return DriverManager.getConnection(URL, USERNAME, PASSWORD);
}
public static List<Student> getAllStudents() {
List<Student> students = new ArrayList<Student>();
try {
Connection conn = getConnection();
PreparedStatement ps = conn.prepareStatement("SELECT * FROM student");
ResultSet rs = ps.executeQuery();
while (rs.next()) {
Student s = new Student(rs.getInt("id"), rs.getString("name"), rs.getInt("age"),
rs.getString("gender"), rs.getString("major"));
students.add(s);
}
rs.close();
ps.close();
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
return students;
}
public static void addStudent(Student s) {
try {
Connection conn = getConnection();
PreparedStatement ps = conn.prepareStatement("INSERT INTO student (name, age, gender, major) VALUES (?, ?, ?, ?)");
ps.setString(1, s.getName());
ps.setInt(2, s.getAge());
ps.setString(3, s.getGender());
ps.setString(4, s.getMajor());
ps.executeUpdate();
ps.close();
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
public static void updateStudent(Student s) {
try {
Connection conn = getConnection();
PreparedStatement ps = conn.prepareStatement("UPDATE student SET name = ?, age = ?, gender = ?, major = ? WHERE id = ?");
ps.setString(1, s.getName());
ps.setInt(2, s.getAge());
ps.setString(3, s.getGender());
ps.setString(4, s.getMajor());
ps.setInt(5, s.getId());
ps.executeUpdate();
ps.close();
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
public static void deleteStudent(Student s) {
try {
Connection conn = getConnection();
PreparedStatement ps = conn.prepareStatement("DELETE FROM student WHERE id = ?");
ps.setInt(1, s.getId());
ps.executeUpdate();
ps.close();
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
```
这个示例代码中,我们定义了一个 `StudentDAO` 类,其中包含了对 MySQL 数据库的连接、查询、插入、更新和删除操作。在这个类中,我们使用了 `PreparedStatement` 对象来执行 SQL 命令,这样可以避免 SQL 注入攻击。同时,我们还定义了一个 `Student` 类,表示一个学生信息。在 `getAllStudents()` 方法中,我们使用了 `ResultSet` 对象来获取查询结果,并将结果封装成 `Student` 对象的集合返回。在其他的方法中,我们使用了 `PreparedStatement` 对象来执行对数据库的增、删、改操作。
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);
}
});
}
}
```
请注意,上述代码仅为示例,实际的学生信息管理系统可能需要根据具体需求进行修改和完善。