SpringBoot整合mongoDB

本文详细介绍如何在SpringBoot项目中整合mongoDB,包括依赖引入、配置、实体类定义、DAO层实现及测试代码示例。

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

SpringBoot整合mongoDB

创建一个SpringBoot项目,pom.xml中引入的依赖如下

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

在application.properties中引入mongoDB的配置

spring.data.mongodb.host=127.0.0.1
spring.data.mongodb.port=27017
spring.data.mongodb.database=test

在启动类父文件夹下创建bean包,在其下创建Book实体类

package cn.itxiaoliu.bean;

public class Book {
    private Integer id;
    private String name;
    private String author;

    @Override
    public String toString() {
        return "Book{" +
                "id=" + id +
                ", name='" + name + '\'' +
                ", author='" + author + '\'' +
                '}';
    }

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getAuthor() {
        return author;
    }

    public void setAuthor(String author) {
        this.author = author;
    }
}

在启动类父文件夹下创建dao包,在其下创建BookDao.java

public interface BookDao extends MongoRepository<Book,Integer>{
    List<Book> findBookByNameContaining(String name);
}

在测试类中进行测试

@RunWith(SpringRunner.class)
@SpringBootTest
public class MongoApplicationTests {

    @Autowired
    BookDao bookDao;
    @Test
    public void contextLoads() {
        Book book=new Book();
        book.setAuthor("小刘");
        book.setName("java");
        book.setId(4);
        bookDao.insert(book);
    }

    @Test
    public void test1(){
        List<Book> all = bookDao.findAll();
        System.out.println(all);
        List<Book> books = bookDao.findBookByNameContaining("红");
        System.out.println(books);
    }
    @Autowired
    MongoTemplate mongoTemplate;
    @Test
    public void test2(){
        Book book=new Book();
        book.setId(5);
        book.setName("python");
        book.setAuthor("老刘");
        mongoTemplate.insert(book);
        List<Book> list = mongoTemplate.findAll(Book.class);
        System.out.println(list);
    }

}

目录结构如下
在这里插入图片描述

操作完成后mongoDB中数据如下
在这里插入图片描述

### Spring Boot 整合 MongoDB 示例教程 #### 配置 `application.yml` 文件中的 MongoDB 连接信息 为了使Spring Boot应用能够连接到MongoDB,在项目的资源目录下的`application.yml`文件中指定MongoDB的相关参数: ```yaml spring: data: mongodb: host: localhost port: 27017 database: test ``` 当MongoDB实例未设置认证机制时,也可以采用URI形式简化配置[^3]。 #### 创建实体类映射文档结构 定义一个Java类来表示存储于MongoDB集合内的文档模型。例如,创建名为`Comment.java`的POJO(Plain Old Java Object),它代表评论表单的数据对象并标注适当注解以便ORM框架识别其为持久化实体。 ```java package com.example.demo_mongodb.po; import org.springframework.data.annotation.Id; import org.springframework.data.mongodb.core.mapping.Document; @Document(collection = "comments") public class Comment { @Id private String id; private String content; private Long timestamp; // Getters and Setters... } ``` #### 定义数据访问接口继承自 `MongoRepository` 通过扩展`MongoRepository<T, ID>`接口的方式快速获得CRUD功能支持,无需编写具体实现逻辑即可完成对特定类型的增删改查操作。这里展示了一个简单的仓库接口声明——`CommentRepository.java`: ```java package com.example.demo_mongodb.dao; import com.example.demo_mongodb.po.Comment; import org.springframework.data.mongodb.repository.MongoRepository; public interface CommentRepository extends MongoRepository<Comment, String> { } ``` 上述代码片段展示了如何利用Spring Data JPA提供的特性轻松地与MongoDB交互,从而专注于业务逻辑而非底层细节处理[^5]。 #### 测试服务层方法验证整合效果 最后一步是在控制器或者其他组件里注入之前建立好的仓储接口,并调用相应的方法来进行测试。这有助于确认整个系统的连通性和预期行为的一致性。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值