MongoTemplate模糊查询分页
时间: 2024-05-11 08:13:58 浏览: 122
在MongoTemplate中进行模糊查询分页可以采用以下步骤:
1. 创建一个Criteria对象,并添加模糊查询条件。
例如,假设我们要查询名字中包含“张”的用户:
```
Criteria criteria = Criteria.where("name").regex("张");
```
2. 创建一个Query对象,并将Criteria对象添加到其中。
```
Query query = new Query(criteria);
```
3. 获取总记录数。
使用MongoTemplate的count方法获取总记录数:
```
long total = mongoTemplate.count(query, User.class);
```
4. 设置分页参数。
使用PageRequest对象设置分页参数,包括当前页码、每页记录数和排序方式。
例如,设置当前页码为1,每页记录数为10,按照id升序排序:
```
PageRequest pageRequest = PageRequest.of(1, 10, Sort.by(Sort.Direction.ASC, "id"));
```
5. 添加分页参数到Query对象中。
```
query.with(pageRequest);
```
6. 查询数据并返回结果。
使用MongoTemplate的find方法查询数据,并返回结果。
```
List<User> userList = mongoTemplate.find(query, User.class);
```
完整代码示例:
```
Criteria criteria = Criteria.where("name").regex("张");
Query query = new Query(criteria);
long total = mongoTemplate.count(query, User.class);
PageRequest pageRequest = PageRequest.of(1, 10, Sort.by(Sort.Direction.ASC, "id"));
query.with(pageRequest);
List<User> userList = mongoTemplate.find(query, User.class);
```
阅读全文