代码运行以后,效果和上一节是一样的。
以下文字来自教师使用的 ppt 。
Repository 接口概述
Repository 接口是 Spring Data 的一个核心接口,它不提供任何方法,开发者需要在自己定义的接口中声明需要的方法
public interface Repository<T, ID extends Serializable> { }
Spring Data 可以让我们只定义接口,只要遵循 Spring Data 的规范(我们写的 HelloWorld 的例子,就符合了 Spring Data 其中的一个规范),就无需写实现类。
与继承 Repository 等价的一种方式,就是在持久层接口上使用 @RepositoryDefinition 注解,并为其指定 domainClass 和 idClass 属性。两种方式是完全等价的。
Repository 的子接口
基础的 Repository 提供了最基本的数据访问功能,其几个子接口则扩展了一些功能。它们的继承关系如下:
Repository: 仅仅是一个标识,表明任何继承它的均为仓库接口类
(1) CrudRepository: 继承 Repository,实现了一组 CRUD 相关的方法
(2)PagingAndSortingRepository: 继承 CrudRepository,实现了一组分页排序相关的方法
(3)JpaRepository: 继承 PagingAndSortingRepository,实现一组 JPA 规范相关的方法
自定义的 XxxxRepository 需要继承 JpaRepository,这样的 XxxxRepository 接口就具备了通用的数据访问控制层的能力。
JpaSpecificationExecutor: 不属于Repository体系,实现一组 JPA Criteria 查询相关的方法 。
(注意:这个类不在上面的途中。)
本文详细介绍了SpringData Repository接口的概述,包括其作用、如何使用以及与Repository、CrudRepository、PagingAndSortingRepository和JpaRepository等接口的关系。通过实例演示了如何仅定义接口而无需实现类,以及自定义Repository接口的实现方式。
—— 使用注解替代继承标记接口、初步认识 Repository 接口&spm=1001.2101.3001.5002&articleId=51295307&d=1&t=3&u=fa8355889e784eb08bdcf8d56de06d30)
451

被折叠的 条评论
为什么被折叠?



