first commit
This commit is contained in:
98
src/service/StudentService.java
Normal file
98
src/service/StudentService.java
Normal file
@@ -0,0 +1,98 @@
|
||||
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<Student> getAllStudents() {
|
||||
return studentDAO.findAll();
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据班级查询学生
|
||||
* @param className 班级名称
|
||||
* @return 学生列表
|
||||
*/
|
||||
public List<Student> getStudentsByClass(String className) {
|
||||
return studentDAO.findByClassName(className);
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据姓名模糊查询学生
|
||||
* @param name 学生姓名
|
||||
* @return 学生列表
|
||||
*/
|
||||
public List<Student> searchStudentsByName(String name) {
|
||||
return studentDAO.findByNameLike(name);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user