ChooseDAO.java 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. package nju.seec.helper.dao;
  2. import nju.seec.helper.entity.Choose;
  3. import org.springframework.data.jpa.repository.JpaRepository;
  4. import org.springframework.data.jpa.repository.Query;
  5. import org.springframework.stereotype.Repository;
  6. import java.util.Optional;
  7. import java.util.Set;
  8. /**
  9. * @author cst
  10. */
  11. @Repository
  12. public interface ChooseDAO extends JpaRepository<Choose, Integer> {
  13. /**
  14. * 检查学生的选课信息是否存在
  15. *
  16. * @param studentId
  17. * @param courseId
  18. * @return
  19. */
  20. boolean existsByStudentIdAndCourseId(Integer studentId, Integer courseId);
  21. /**
  22. * 查询选课信息
  23. *
  24. * @param studentId
  25. * @param courseId
  26. * @return
  27. */
  28. Optional<Choose> findByStudentIdAndCourseId(Integer studentId, Integer courseId);
  29. /**
  30. * 查询学生选课信息
  31. *
  32. * @param studentId
  33. * @return
  34. */
  35. @Query("select distinct choose.courseId from Choose choose where choose.studentId=?1")
  36. Set<Integer> findCourseIdsByStudentId(Integer studentId);
  37. /**
  38. * 查询课程的选课学生
  39. *
  40. * @param courseId
  41. * @return
  42. */
  43. @Query("select distinct c.studentId from Choose c where c.courseId=?1")
  44. Set<Integer> findStudentIdsByCourseId(Integer courseId);
  45. }