调用 PageRequest.of()
方法构建一个分页对象,然后注入到查询对象。
PageRequest.of()
方法用于确定分页规则:
- 第一个参数是页码,注意从0 开始计数,第一页的值是0 ;
- 第二个参数是每页的数量。
例:
1 | import org.springframework.data.domain.PageRequest; |
在实际操纵中,我们还需要知道符合条件的数据数量,可以用mongoTemplate.count(query, xxx.class)
方法获得数据数量。第一个参数是Query类,第二个参数是查询对象类型。
例:
1 | long count = mongoTemplate.count(query, Song.class); |
通过分页条件,数据总数这两个参数,再加上一个结果参数,就可以构建一个分页器了。
例:
1 | import org.springframework.data.domain.Page; |
PageableExecutionUtils.getPage()
方法第一个参数是查询结果;第二个参数是分页条件对象;第三个参数稍微复杂一点,实现一个 LongSupplier 接口的匿名类,在匿名类的 getAsLong()
方法中返回结果总数,方法返回值是一个 Page 分页器对象。
关于Page分页器的一些常见方法如下:
getTotalElements()
返回类型:long ,返回元素总数
getTotalPages()
返回类型:int ,返回总页数
getContent()
返回类型:List ,返回当前页面元素集合
getNumber()
返回类型:int 返回当前页码号 ,注意是以 0 开始计数的,0 表示第一页,1 表示第二页
getSize()
返回类型:int ,返回每页额定元素数
getNumberOfElements()