Spring之分页类Page

Spring的分页类在spring-data-commons包里。

1. Pageable,PageRequest

Pageable: Abstract interface for pagination information. 分页信息的抽象。
PageRequest: Basic Java Bean implementation of Pageable. 对Pageable的基本实现。
属性page 页码,以0开始计数为首页,非负,
属性size 一页的大小,大于0,
属性Sort 排序。

常用方法:Pageable: next()下一页,previousOrFirst()前一页。
PageRequest: of(page,size,sort)
在这里插入图片描述

2. Page,PageImpl

Page: A page is a sublist of a list of objects. It allows gain information about the position of it in the containing entire list. 列表的子集,包含了位置信息。
PageImpl: Page的基本实现。
PagePageImpl中都会用到Pageable
在这里插入图片描述

3. @PageableDefault

默认的分页注解

    @GetMapping("/user")
    public List<User> query(@PageableDefault(page=2,size=17,sort="username,asc")Pageable pageable){//用spring自带的pageable对象来得到分页信息
   
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Spring Boot 中使用 MongoDB 进行分页查询可以使用 `MongoTemplate` 和 `org.springframework.data.domain.PageRequest` 来实现。 以下是一个简单的例子,假设我们有一个名为 `users` 的集合,其中包含了 `name` 和 `age` 两个字段: ```java import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.domain.Page; import org.springframework.data.domain.PageRequest; import org.springframework.data.mongodb.core.MongoTemplate; import org.springframework.stereotype.Service; @Service public class UserService { @Autowired private MongoTemplate mongoTemplate; public Page<User> findUsers(int page, int size) { // 创建分页请求对象 PageRequest pageRequest = PageRequest.of(page - 1, size); // 执行分页查询 Page<User> users = mongoTemplate.findAll(User.class, pageRequest); return users; } } ``` 上述代码中,我们定义了一个 `UserService` ,其中注入了一个 `MongoTemplate` 对象,然后定义了一个 `findUsers` 方法用于分页查询用户信息。 在 `findUsers` 方法中,我们首先创建了一个 `PageRequest` 对象来表示分页请求,然后利用 `MongoTemplate` 的 `findAll` 方法进行分页查询,最后返回查询结果。 需要注意的是,`PageRequest` 的第一个参数是页码,从 0 开始计数,因此如果要查询第一页数据,应该传入 0 而不是 1。 另外,如果需要对查询结果进行排序,可以在 `PageRequest` 中传入一个 `Sort` 对象来定义排序规则。 更多关于 Spring Data MongoDB 的分页查询可以参考官方文档:https://docs.spring.io/spring-data/mongodb/docs/current/reference/html/#core.extensions.pagination

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值