mongoTemplate基本操作
前提:已安装好mongodb服务
架构:springboot+mongodb
1.引入依赖(二选一)
// maven添加依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-mongodb</artifactId>
</dependency>
// gradle添加依赖
implementation 'org.springframework.boot:spring-boot-starter-data-mongodb'
2.application.yml配置文件中添加 (本地测试)
spring:
data:
mongodb:
host: 127.0.0.1
port: 27017
database: my_database
3.注入MongoTemplate
@Autowired
private MongoTemplate mongoTemplate;
4.新增数据
mongoTemplate.insert("要新增的对象或列表", collectionName);
5.查询数据
Query query = new Query();
Criteria criteria = new Criteria();
// 字段条件查询
criteria.and("name").is("张三");
// 时间范围查询
criteria.andOperator(Criteria.where("createTime").gte(startDateTime),Criteria.where("createTime").lt(endDateTime));
query.addCriteria(criteria);
// 排序
query.with(Sort.by(Sort.Order.asc("createTime"),Sort.Order.desc("id")));
// 分页(方法一)
PageRequest pageable = PageRequest.of(1, 10);
query.with(pageable);
// 分页(方法二)
query.skip((currentPage - 1) * pageSize).limit(pageSize);
mongoTemplate.find(query, User.class, collectionName);
6.更新数据
Query query = new Query();
Criteria criteria = new Criteria();
criteria .and("_id").is("123");
query.addCriteria(criteria );
Update update = new Update();
update.set("name", "张三");
UpdateResult update = mongoTemplate.upsert(query , update, User.class, collectionName);