写一下学生信息管理系统DAO类
学生信息管理系统DAO类是用于访问数据库的类,它负责与数据库的交互,包括增删改查等操作。下面是一个示例的学生信息管理系统DAO类的代码:
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
public class StudentDAO {
private Connection connection;
public StudentDAO(Connection connection) {
this.connection = connection;
}
public void addStudent(Student student) throws SQLException {
String query = "INSERT INTO students (id, name, age) VALUES (?, ?, ?)";
PreparedStatement statement = connection.prepareStatement(query);
statement.setInt(1, student.getId());
statement.setString(2, student.getName());
statement.setInt(3, student.getAge());
statement.executeUpdate();
}
public void updateStudent(Student student) throws SQLException {
String query = "UPDATE students SET name = ?, age = ? WHERE id = ?";
PreparedStatement statement = connection.prepareStatement(query);
statement.setString(1, student.getName());
statement.setInt(2, student.getAge());
statement.setInt(3, student.getId());
statement.executeUpdate();
}
public void deleteStudent(int id) throws SQLException {
String query = "DELETE FROM students WHERE id = ?";
PreparedStatement statement = connection.prepareStatement(query);
statement.setInt(1, id);
statement.executeUpdate();
}
public List<Student> getAllStudents() throws SQLException {
List<Student> students = new ArrayList<>();
String query = "SELECT * FROM students";
PreparedStatement statement = connection.prepareStatement(query);
ResultSet resultSet = statement.executeQuery();
while (resultSet.next()) {
int id = resultSet.getInt("id");
String name = resultSet.getString("name");
int age = resultSet.getInt("age");
Student student = new Student(id, name, age);
students.add(student);
}
return students;
}
public Student getStudentById(int id) throws SQLException {
String query = "SELECT * FROM students WHERE id = ?";
PreparedStatement statement = connection.prepareStatement(query);
statement.setInt(1, id);
ResultSet resultSet = statement.executeQuery();
if (resultSet.next()) {
String name = resultSet.getString("name");
int age = resultSet.getInt("age");
return new Student(id, name, age);
} else {
return null;
}
}
}
上述代码中,StudentDAO类包含了一些常用的数据库操作方法,如添加学生、更新学生、删除学生、获取所有学生和根据ID获取学生信息。这些方法通过预编译的SQL语句与数据库进行交互,并将结果封装成相应的对象返回。
原文地址: https://www.cveoy.top/t/topic/i4Rj 著作权归作者所有。请勿转载和采集!