- Spring Data JPA从入门到精通
- 张振华
- 275字
- 2025-03-01 13:50:15
2.4 PagingAndSortingRepository方法详解
通过类的关系图,我们可以看到PagingAndSortingRepository继承CrudRepository所有的基本方法,它增加了分页和排序等对查询结果进行限制的基本的、常用的、通用的一些分页方法。
2.4.1 PagingAndSortingRepository interface内容

(1)根据排序取所有对象的集合。
(2)根据分页和排序进行查询,并用Page对象封装。Pageable对象包含分页和Sort对象。
PagingAndSortingRepository和CrudRepository都是Spring Data Common的标准接口,如果我们采用JPA,那它对应的实现类就是Spring Data JPA的model里面的SimpleJpaRepository。如果是其他NoSQL的实现Mongodb,那它的实现就在Spring Data Mongodb的model里面。
实现内容如下:

通过上面的源码我们可以发现这些查询都会用到后面章节要讲的Specification查询方法。
2.4.2 PagingAndSortingRepository使用示例
只需要继承PagingAndSortingRepository的接口即可,其他不用做任何改动。UserPagingAndSortingRepository修改如下:

UserController修改如下:
