添加包依赖
pom.xml
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-mongodb</artifactId>
</dependency>
Mongodb连接配置
application.yml
spring:
data:
mongodb:
uri: mongodb://localhost:27017
database: db1
实体类
User.java
@Data
@Document(collection = "users")
public class User {
@Id
private String id;
private String name;
}
分页信息类
PageableInfo.java
@Data
@AllArgsConstructor
public static class PageableInfo<T> {
private long total;
private List<T> records;
}
服务类
UserService.java
@Service
public class UserService {
@Autowired
private MongoTemplate mongoTemplate;
/**
* 创建User
*/
public User create(User user) {
return mongoTemplate.create(user);
}
/**
* 根据ID获取User
*/
public User get(String id) {
mongoTemplate.findById(id, User.class);
}
/**
* 分页查询User
*/
public PageableInfo<User> query(int pageNum, int pageSize, String name) {
Query query = Query.query(Criteria.where("name").is(name));
long count = mongoTemplate.count(query, User.class);
query.with(new Sort(Sort.Direction.DESC,"_id"))
query.with(PageRequest.of(pageNum - 1, pageSize))
// 或者
// query.with(PageRequest.of(pageNum - 1, pageSize, Sort.Direction.DESC, "_id"))
// 或者
// query.skip((pageNum - 1) * pageSize);
List<Student> users = mongoTemplate.find(query, User.class);
return new PageableInfo<>(count, users);
}
/**
* 更新User
*/
public User update(User user) {
return mongoTemplate.save(user);
}
/**
* 删除User
*/
public void remove(String id) {
User user = new User();
user.setId(id);
mongoTemplate.remove(user);
}
}
参考
https://blog.csdn.net/weixin_45676738/article/details/106854254