Spring Data JPA从入门到精通
上QQ阅读APP看书,第一时间看更新

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修改如下: