SpringBoot之持久层Repository

持久层是介于业务逻辑层和数据库之间的,访问数据库并为业务处理提供或保存数据,具体需要哪些方法是根据业务逻辑层的需要而定。

  • 这里我们使用框架Spring Data Jpa,通过pom.xml引入其依赖:
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
  • 创建接口StudentRepository,继承JpaRepository<T, ID>
public interface StudentRepository extends JpaRepository<Student, Integer> {
    List<Student> findByClassId(Integer classId);
}
  • 实际项目中不应直接继承JpaRepository<T, ID>,而应该创建一个Repository公共类并继承JpaRepository<T, ID>,然后持久层Repository再继承该公共类。
@NoRepositoryBean                                                                   
@Transactional(readOnly = true, rollbackFor = Exception.class)          
public interface BaseRepository<T, ID extends Serializable> extends JpaRepository<T, ID>, JpaSpecificationExecutor<T> {

    List<T> findAll(DataQueryObject query);

    Page<T> findAll(DataQueryObject query, Pageable page);

    Page<T> findAll(DataQueryObjectPage dataQueryObjectpage);

    List<T> findAll(DataQueryObject dataQueryObject, Sort sort);

    List<T> findAll(DataQueryObjectSort dataQueryObjectSort);
}
posted @ 2021-03-04 11:00  剑陈  阅读(725)  评论(1)    收藏  举报