package service; import dao.DAOFactory; import dao.StudentDAO; import model.Student; import java.util.List; /** * 学生信息服务类 */ public class StudentService { private final StudentDAO studentDAO = DAOFactory.getStudentDAO(); /** * 添加学生 * @param student 学生信息 * @return 是否添加成功 */ public boolean addStudent(Student student) { // 检查学号是否已存在 if (studentDAO.findByStudentId(student.getStudentId()) != null) { return false; } return studentDAO.insert(student) > 0; } /** * 更新学生信息 * @param student 学生信息 * @return 是否更新成功 */ public boolean updateStudent(Student student) { // 检查是否存在 Student existingStudent = studentDAO.findById(student.getId()); if (existingStudent == null) { return false; } // 检查学号是否被其他学生使用 Student studentWithSameId = studentDAO.findByStudentId(student.getStudentId()); if (studentWithSameId != null && studentWithSameId.getId() != student.getId()) { return false; } return studentDAO.update(student) > 0; } /** * 删除学生 * @param id 学生ID * @return 是否删除成功 */ public boolean deleteStudent(int id) { return studentDAO.deleteById(id) > 0; } /** * 根据ID查询学生 * @param id 学生ID * @return 学生信息 */ public Student getStudentById(int id) { return studentDAO.findById(id); } /** * 根据学号查询学生 * @param studentId 学号 * @return 学生信息 */ public Student getStudentByStudentId(String studentId) { return studentDAO.findByStudentId(studentId); } /** * 查询所有学生 * @return 学生列表 */ public List getAllStudents() { return studentDAO.findAll(); } /** * 根据班级查询学生 * @param className 班级名称 * @return 学生列表 */ public List getStudentsByClass(String className) { return studentDAO.findByClassName(className); } /** * 根据姓名模糊查询学生 * @param name 学生姓名 * @return 学生列表 */ public List searchStudentsByName(String name) { return studentDAO.findByNameLike(name); } }