我是靠谱客的博主 壮观天空,最近开发中收集的这篇文章主要介绍MongoDB结合SpringBoot使用,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

可视化工具使用 Robo 3T

1、pom

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-mongodb</artifactId>
</dependency>

2、构建DO

@Document(collection = "cp_capital_info")
@Data
public class CapitalInfoDocument implements Serializable {

    @Id
    @Field("capitalId")
    private Integer capitalId;

    private HashMap<Integer,BigDecimal> capitalCostMap;


}

需定义表名即collection名 和 id

3、使用

插入:

CapitalInfoDocument capitalInfoDocument = new CapitalInfoDocument();
capitalInfoDocument.setCapitalId(1001);
HashMap<Integer,BigDecimal> capitalCostMap = new HashMap<>();
capitalCostMap.put(36,BigDecimal.valueOf(0.123));
capitalCostMap.put(48,BigDecimal.valueOf(0.134));
capitalInfoDocument.setCapitalCostMap(capitalCostMap);
mongoTemplate.insert(capitalInfoDocument);

查询:

Integer capitalId = 1001;
Integer period = 36;
Query query = new Query(Criteria.where("capitalId").is(capitalId));
CapitalInfoDocument result = mongoTemplate.findOne(query,CapitalInfoDocument.class);
if (result != null) {
    HashMap<Integer,BigDecimal> captialCostMap = result.getCapitalCostMap();
    System.out.println( captialCostMap.get(period));
}

更新:

 public void update(MailDO ent) {
        Query query = new Query(Criteria.where("_id").is(ent.getMailId()));
        Update update = new Update()
                .set("send_status", ent.getSendStatus())
                .set("retry_count", ent.getRetryCount())
                .set("remark", ent.getRemark())
                .set("modify_time", ent.getModifyTime())
                .set("modify_user", ent.getModifyUser());
        //更新查询返回结果集的第一条
        mongoTemplate.updateFirst(query, update, MailDO.class);
    }

 

最后

以上就是壮观天空为你收集整理的MongoDB结合SpringBoot使用的全部内容,希望文章能够帮你解决MongoDB结合SpringBoot使用所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(63)

评论列表共有 0 条评论

立即
投稿
返回
顶部