springboot整合mongodb

本文介绍了如何在SpringBoot项目中使用MongoDB,包括在pom.xml中添加依赖,配置数据库连接,创建并操作实体类(如Person),以及执行增删改查(CRUD)操作的测试方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在pom.xml中引入依赖

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

在application.yml中添加配置

spring:
  data:
    mongodb:
      uri: mongodb://xxx/xxx

编写一个实体类

@Data
@AllArgsConstructor
@NoArgsConstructor

public class Person {
    @Id
    Integer id;
    
    private String name;
    
    private String age;
    
    private String email;
}

 编写测试方法

@Test
    public void test2(){
        //插入
        Person person = new Person(8, "fatalism", "555", "qwer@qq.com");
        mongoTemplate.insert(person);
        // 保存、修改
        mongoTemplate.save(person);
        // 批量插入
        List<Person> list=new ArrayList<>();
        for (int i = 0; i < 10; i++) {
            Person person1 = new Person(10 + i, "jun" + i, "88" + i, i+"123456@qq.com" );
            list.add(person1);
        }
        mongoTemplate.insertAll(list);
        // 查询单个数据 使用id
        Query query=new Query();
        query.addCriteria(Criteria.where("id").is(8));
        // 第三个参数是指mongodb的集合
        List<Person> list1 = mongoTemplate.find(query, Person.class, "person");
        // 查询所有的数据
        List<Person> allList = mongoTemplate.findAll(Person.class, "person");
        //根据条件删除
        Query query1=Query.query(Criteria.where("id").is(8));
        mongoTemplate.remove(query1, Person.class,"person");
        // 批量更新 模拟代码不添加元素
        List<Person> list2=new ArrayList<>();
        List<Pair<Query, Update>> pairList=new ArrayList<>();
        for (Person person1:list2){
            Query query2=new Query();
            query2.addCriteria(Criteria.where("id").is(person1.getId()));
            Update update = new Update();
            update.set("name",person1.getName());
            update.set("age",person1.getAge());
            Pair<Query,Update> pair= Pair.of(query2,update);
            pairList.add(pair);
        }
        BulkOperations bulkOperation=mongoTemplate.bulkOps(BulkOperations.BulkMode.UNORDERED,"person");
        bulkOperation.updateMulti(pairList);
        bulkOperation.execute();
    }

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值