mongorepository 分页条件查询
时间: 2023-07-02 11:21:59 浏览: 102
JAVA代码实现MongoDB动态条件之分页查询
MongoRepository 是 Spring Data MongoDB 模块提供的一种基于接口的 MongoDB 操作方式。它提供了很多现成的方法,可以方便地对 MongoDB 进行增删改查操作。其中,分页条件查询可以通过继承 PagingAndSortingRepository 接口来实现。
下面是一个示例代码,演示了如何在 MongoRepository 中进行分页条件查询:
```java
public interface UserRepository extends MongoRepository<User, String> {
// 根据条件查询,并进行分页
Page<User> findByAgeGreaterThan(int age, Pageable pageable);
}
```
在上面的代码中,我们定义了一个 UserRepository 接口,继承了 MongoRepository 接口,并指定了实体类 User 和 ID 类型为 String。然后,我们定义了一个方法 findByAgeGreaterThan,用于根据年龄大于某个值的条件进行查询,并对结果进行分页。该方法的返回值类型为 Page<User>,其中的 Page 对象就是 Spring 提供的分页对象,可以通过该对象来获取查询结果和分页信息。
在调用该方法时,我们可以传入一个 Pageable 对象,用于指定分页信息。例如:
```java
Pageable pageable = PageRequest.of(0, 10, Sort.by("name").ascending());
Page<User> page = userRepository.findByAgeGreaterThan(18, pageable);
```
在上面的代码中,我们创建了一个 Pageable 对象,指定了第一页、每页 10 条记录,按照 name 字段升序排序。然后,调用了 UserRepository 的 findByAgeGreaterThan 方法,并传入了该 Pageable 对象作为参数。最后,我们可以通过 page 对象来获取查询结果和分页信息。
阅读全文