springboot2与mongodb整合

本文介绍了如何在SpringBoot 2项目中整合MongoDB,包括项目搭建、MongoTemplate和MongoRepository的基础使用,涉及增删改查操作。MongoTemplate是操作MongoDB的高级抽象,而MongoRepository提供了CRUD接口。文章还提到了_id字段的作用。
摘要由CSDN通过智能技术生成

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) {
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值