ADD file via upload

main
pc9pizjb6 4 months ago
parent cd4018064c
commit 2824969591

@ -0,0 +1,126 @@
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<Student> 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<Student> getAllStudents() {
return new ArrayList<>(students);
}
/**
* ID
* @param id ID
* @return null
*/
public Student getStudentById(int id) {
Optional<Student> 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<Student> getStudentsByCourse(String course) {
List<Student> result = new ArrayList<>();
for (Student student : students) {
if (student.getCourse().equalsIgnoreCase(course)) {
result.add(student);
}
}
return result;
}
/**
*
* @param grade
* @return
*/
public List<Student> getStudentsByGradeAbove(double grade) {
List<Student> result = new ArrayList<>();
for (Student student : students) {
if (student.getGrade() >= grade) {
result.add(student);
}
}
return result;
}
}
Loading…
Cancel
Save