diff --git a/backend/src/main/java/lsgwr/exam/exception/ExamException.java b/backend/src/main/java/lsgwr/exam/exception/ExamException.java index 50e47ff..461dde3 100644 --- a/backend/src/main/java/lsgwr/exam/exception/ExamException.java +++ b/backend/src/main/java/lsgwr/exam/exception/ExamException.java @@ -6,23 +6,29 @@ ***********************************************************/ package lsgwr.exam.exception; -import lsgwr.exam.enums.ResultEnum; -import lombok.Getter; - +import lsgwr.exam.enums.ResultEnum;// 导入lsgwr.exam.enums包下的ResultEnum枚举类 +import lombok.Getter;// 导入lombok库中的@Getter注解,用于自动生成getter方法 +// 使用@Getter注解自动为类中的字段生成getter方法 @Getter +// 定义一个名为ExamException的自定义异常类,它继承自RuntimeException,表示这是一个运行时异常 public class ExamException extends RuntimeException { - // 定义异常码 + // 定义一个整型字段code,用于存储异常码 private Integer code; - - // 构造函数,传入枚举类型 + // 定义一个构造函数,接收一个ResultEnum枚举类型的参数 + // 这个构造函数通过调用父类RuntimeException的构造函数来设置异常信息 + // 并通过枚举类型的参数来设置异常码 public ExamException(ResultEnum resultEnum) { + // 调用父类构造函数,传入ResultEnum枚举中定义的异常信息 super(resultEnum.getMessage()); + // 设置当前异常的异常码 this.code = resultEnum.getCode(); } - - // 构造函数,传入异常码和异常信息 + // 定义一个构造函数,接收一个整型code和一个字符串message作为参数 + // 这个构造函数允许直接传入异常码和异常信息来创建异常对象 public ExamException( Integer code, String message) { + // 调用父类构造函数,传入异常信息 super(message); + // 设置当前异常的异常码 this.code = code; } } \ No newline at end of file diff --git a/backend/src/main/java/lsgwr/exam/repository/ExamRecordLevelRepository.java b/backend/src/main/java/lsgwr/exam/repository/ExamRecordLevelRepository.java index 4fda0bf..6729141 100644 --- a/backend/src/main/java/lsgwr/exam/repository/ExamRecordLevelRepository.java +++ b/backend/src/main/java/lsgwr/exam/repository/ExamRecordLevelRepository.java @@ -6,9 +6,13 @@ ***********************************************************/ package lsgwr.exam.repository; -import lsgwr.exam.entity.ExamRecordLevel; -import org.springframework.data.jpa.repository.JpaRepository; +import lsgwr.exam.entity.ExamRecordLevel;// 导入lsgwr.exam.entity包下的ExamRecordLevel实体类 +import org.springframework.data.jpa.repository.JpaRepository;// 导入Spring Data JPA提供的JpaRepository接口 -// ExamRecordLevelRepository接口,继承JpaRepository接口,用于操作ExamRecordLevel实体类 +/** + * ExamRecordLevelRepository接口,用于操作数据库中的ExamRecordLevel实体类。 + * 它继承自JpaRepository接口,从而继承了Spring Data JPA提供的一系列用于数据访问的方法, + * 如保存、删除、查找等。这里的泛型参数指定了操作的实体类类型和实体类的主键类型。 + */ public interface ExamRecordLevelRepository extends JpaRepository { } \ No newline at end of file diff --git a/backend/src/main/java/lsgwr/exam/repository/ExamRecordRepository.java b/backend/src/main/java/lsgwr/exam/repository/ExamRecordRepository.java index d9f0033..ec202df 100644 --- a/backend/src/main/java/lsgwr/exam/repository/ExamRecordRepository.java +++ b/backend/src/main/java/lsgwr/exam/repository/ExamRecordRepository.java @@ -6,17 +6,21 @@ ***********************************************************/ package lsgwr.exam.repository; -import lsgwr.exam.entity.ExamRecord; -import org.springframework.data.jpa.repository.JpaRepository; - -import java.util.List; +import lsgwr.exam.entity.ExamRecord;// 导入lsgwr.exam.entity包下的ExamRecord实体类 +import org.springframework.data.jpa.repository.JpaRepository;// 导入Spring Data JPA提供的JpaRepository接口 +import java.util.List;// 导入Java的List集合类 +/** + * ExamRecordRepository接口,用于操作数据库中的ExamRecord实体类。 + * 它扩展了JpaRepository接口,从而继承了Spring Data JPA提供的数据访问方法。 + * 这里的泛型参数指定了操作的实体类类型和实体类的主键类型(这里假设为String类型)。 + */ public interface ExamRecordRepository extends JpaRepository { /** - * 获取指定用户参加过的所有考试 + * 根据用户ID查找并返回该用户参加过的所有考试记录,结果按考试加入日期降序排列。 * - * @param userId 用户id - * @return 用户参加过的所有考试 + * @param userId 用户的ID,用于查找对应的考试记录 + * @return 一个包含用户参加过的所有考试记录的List集合,按考试加入日期降序排列 */ List findByExamJoinerIdOrderByExamJoinDateDesc(String userId); } \ No newline at end of file diff --git a/backend/src/main/java/lsgwr/exam/repository/ExamRepository.java b/backend/src/main/java/lsgwr/exam/repository/ExamRepository.java index a189f5d..619861b 100644 --- a/backend/src/main/java/lsgwr/exam/repository/ExamRepository.java +++ b/backend/src/main/java/lsgwr/exam/repository/ExamRepository.java @@ -6,15 +6,24 @@ ***********************************************************/ package lsgwr.exam.repository; -import lsgwr.exam.entity.Exam; -import org.springframework.data.jpa.repository.JpaRepository; -import org.springframework.data.jpa.repository.Query; +import lsgwr.exam.entity.Exam;// 导入lsgwr.exam.entity包下的Exam实体类 +import org.springframework.data.jpa.repository.JpaRepository;// 导入Spring Data JPA提供的JpaRepository接口 +import org.springframework.data.jpa.repository.Query;// 导入Spring Data JPA提供的@Query注解,用于定义JPQL查询语句 -import java.util.List; +import java.util.List;// 导入Java的List集合类 -// ExamRepository接口,继承JpaRepository接口,用于操作Exam实体类 +/** + * ExamRepository接口,它继承自JpaRepository接口,用于操作数据库中的Exam实体类。 + * 通过继承JpaRepository,ExamRepository自动获得了Spring Data JPA提供的一系列数据访问方法。 + * 这里的泛型参数指定了操作的实体类类型和实体类的主键类型(这里假设为String类型)。 + */ public interface ExamRepository extends JpaRepository { - // 使用JPQL查询语句,查询Exam实体类,按照updateTime降序排列 + /** + * 使用JPQL查询语句来查询所有的Exam实体类对象,并按照updateTime字段进行降序排列。 + * 这个方法重写了JpaRepository接口中的findAll()方法,提供了更具体的查询逻辑。 + * + * @return 一个包含所有Exam实体类对象的List集合,按照updateTime字段降序排列。 + */ @Query("select e from Exam e order by e.updateTime desc") List findAll(); }