diff --git a/StudentDAO.java b/StudentDAO.java deleted file mode 100644 index 9c4241b..0000000 --- a/StudentDAO.java +++ /dev/null @@ -1,126 +0,0 @@ -package com.studentmanagement.model; - -import java.util.ArrayList; -import java.util.List; -import java.util.Optional; - -/** - * 学生数据访问对象,负责学生数据的CRUD操作 - * 实现了单例模式,确保整个应用只有一个数据访问实例 - */ -public class StudentDAO { - // 使用单例模式 - private static StudentDAO instance; - private List students; - - /** - * 私有构造函数,初始化学生列表 - */ - private StudentDAO() { - students = new ArrayList<>(); - // 初始化一些示例数据 - students.add(new Student(1, "张三", 20, "Java编程", 85.5)); - students.add(new Student(2, "李四", 21, "数据结构", 90.0)); - students.add(new Student(3, "王五", 19, "数据库原理", 88.5)); - } - - /** - * 获取单例实例 - * @return StudentDAO的唯一实例 - */ - public static synchronized StudentDAO getInstance() { - if (instance == null) { - instance = new StudentDAO(); - } - return instance; - } - - /** - * 获取所有学生 - * @return 学生列表 - */ - public List getAllStudents() { - return new ArrayList<>(students); - } - - /** - * 根据ID查找学生 - * @param id 学生ID - * @return 找到的学生,如不存在返回null - */ - public Student getStudentById(int id) { - Optional student = students.stream() - .filter(s -> s.getId() == id) - .findFirst(); - return student.orElse(null); - } - - /** - * 添加学生 - * @param student 要添加的学生对象 - * @return 添加是否成功 - */ - public boolean addStudent(Student student) { - // 检查ID是否已存在 - for (Student s : students) { - if (s.getId() == student.getId()) { - return false; - } - } - return students.add(student); - } - - /** - * 更新学生信息 - * @param student 要更新的学生对象 - * @return 更新是否成功 - */ - public boolean updateStudent(Student student) { - for (int i = 0; i < students.size(); i++) { - if (students.get(i).getId() == student.getId()) { - students.set(i, student); - return true; - } - } - return false; - } - - /** - * 删除学生 - * @param id 要删除的学生ID - * @return 删除是否成功 - */ - public boolean deleteStudent(int id) { - return students.removeIf(s -> s.getId() == id); - } - - /** - * 查找特定课程的学生 - * @param course 课程名称 - * @return 该课程的学生列表 - */ - public List getStudentsByCourse(String course) { - List result = new ArrayList<>(); - for (Student student : students) { - if (student.getCourse().equalsIgnoreCase(course)) { - result.add(student); - } - } - return result; - } - - /** - * 查找成绩高于指定分数的学生 - * @param grade 最低分数 - * @return 成绩高于指定分数的学生列表 - */ - public List getStudentsByGradeAbove(double grade) { - List result = new ArrayList<>(); - for (Student student : students) { - if (student.getGrade() >= grade) { - result.add(student); - } - } - return result; - } -} \ No newline at end of file