MongoDB是一款高性能的分布式文件存储数据库,类似于JSON的存储格式,结构松散,易部署,易扩展,支持索引,简单易用,广泛用于各种类型的系统。MongoDB功能强大,SpringBoot也与之进行集成,下面我们就来看看到底如何使用。
项目搭建
先来一个demo看看应该如何进行整合使用,再来详细描述其中的细节。由于在工作中,接触较多的就是maven,所以还是采用maven的方式进行项目构建。至于采用Gradle等其它构建工具,大家可以自行尝试。
项目版本:SpringBoot (2.1.4)
首先,引入MongoDB相关依赖,如下所示:
pom.xml:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-mongodb</artifactId>
</dependency>
application.properties:
spring.data.mongodb.uri=mongodb://localhost/test
ExceptionLog(Entity):
@Data
public class ExceptionLog {
@Id
private String openId;
private Integer status;
private String body;
}
ExceptionLogService(用于操作ExceptionLog):
@Service
public class ExceptionLogService {
private final MongoTemplate mongoTemplate;
@Autowired
public ExceptionLogService(MongoTemplate mongoTemplate) {
this.mongoTemplate = mongoTemplate;
}
/**
* 使用insert添加数据
* @param exceptionLog 实体信息
* @return 保存后的信息
*/
public ExceptionLog add(ExceptionLog exceptionLog) {
return this.mongoTemplate.insert(exceptionLog);
}
/**
* 根据主键进行删除
* @param openId 主键
* @return 删除的数量
*/
public long delete(String openId) {
Query query = new Query();
query.addCriteria(Criteria.where("_id").is(openId));
DeleteResult remove = this.mongoTemplate.remove(query, ExceptionLog.class);
return remove.getDeletedCount();
}
/**
* 使用update方式修改数据
* @param exceptionLog 需要修改的信息
*/
public void update(ExceptionLog exceptionLog) {