SpringBoot整合MongoDB完整实例

本文涉及的产品
云数据库 MongoDB,独享型 2核8GB
推荐场景:
构建全方位客户视图
简介: SpringBoot整合MongoDB完整实例

一、新建项目

我们这次直接从IEDA创建项目,具体配置如下,还是万年的Java8。

二、docker-compose 配置mongoDB

docker-compose.yml的具体配置如下,注意的是本地的文件夹data2022可以根据需要改成自己的名称,如果本地还在跑其他MongoDB项目,注意端口号别冲突了。

version: "3"
services:
  mongo:
    image: mongo
    environment:
      MONGO_INITDB_ROOT_USERNAME: root
      MONGO_INITDB_ROOT_PASSWORD: root
    ports:
      - "27018:27017"
    volumes:
      - ~/data2022/mongodb/data:/data/db
      - ~/data2022/mongodb/conf:/data/configdb

启动docker-compose up -d

本地测试连接MongoDB,根据配置,端口为 27018 ,默认用户名密码为 root 。

测试连接成功。

三、SpringBoot配置MongoDB

先新建名为ms的数据库,application.yml配置文件如下

server:
  port: 8099
  servlet:
    encoding:
      charset: UTF-8
      force: true
spring:
  data:
    mongodb:
      uri: mongodb://root:root@localhost:27018/ms

启动应用,查看日志,连接成功。

问题:Exception authenticating MongoCredential

可能出现的问题 Exception authenticating MongoCredential ,可能是用户没有对应权限,要重新创建一下。

db.createUser({
    user: "root",
    pwd: "root",
    roles: [
        {
            role: "root",
            db: "ms"
        }
    ],
    authenticationRestrictions: [ ],
    mechanisms: [
        "SCRAM-SHA-1"
    ],
    passwordDigestor: "client"
})

四、编写测试类

我们通过MongoTemplate对MongoDB进行数据读写,后面详细

简单写一些方法。

package com.example.springbootwithmongodb.entry;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.data.mongodb.core.MongoTemplate;
@SpringBootTest
public class CatTest {
    @Autowired
    private MongoTemplate mongoTemplate;
    @Test
    public void createTest(){
        Cat cat = new Cat();
        cat.setName("糖果");
        cat.setAge(3);
        cat.setLikeCount(100);
        mongoTemplate.insert(cat);
    }
}

测试通过~

相关实践学习
MongoDB数据库入门
MongoDB数据库入门实验。
快速掌握 MongoDB 数据库
本课程主要讲解MongoDB数据库的基本知识,包括MongoDB数据库的安装、配置、服务的启动、数据的CRUD操作函数使用、MongoDB索引的使用(唯一索引、地理索引、过期索引、全文索引等)、MapReduce操作实现、用户管理、Java对MongoDB的操作支持(基于2.x驱动与3.x驱动的完全讲解)。 通过学习此课程,读者将具备MongoDB数据库的开发能力,并且能够使用MongoDB进行项目开发。   相关的阿里云产品:云数据库 MongoDB版 云数据库MongoDB版支持ReplicaSet和Sharding两种部署架构,具备安全审计,时间点备份等多项企业能力。在互联网、物联网、游戏、金融等领域被广泛采用。 云数据库MongoDB版(ApsaraDB for MongoDB)完全兼容MongoDB协议,基于飞天分布式系统和高可靠存储引擎,提供多节点高可用架构、弹性扩容、容灾、备份回滚、性能优化等解决方案。 产品详情: https://www.aliyun.com/product/mongodb
相关文章
|
1月前
|
NoSQL Java MongoDB
Springboot WebFlux项目结合mongodb进行crud
这篇文章介绍了如何使用Spring Boot WebFlux框架结合MongoDB进行基本的CRUD(创建、读取、更新、删除)操作,包括项目设置、实体类和Repository的创建、控制器的实现以及配置文件的编写。
46 0
Springboot WebFlux项目结合mongodb进行crud
|
3月前
|
NoSQL Java MongoDB
SpringBoot中MongoDB的那些高级用法
本文探讨了在Spring Boot项目中使用MongoDB的多种方式及其高级用法。MongoDB作为一种NoSQL数据库,在某些场景下相较于SQL数据库有着独特的优势。文中详细介绍了在Spring Boot中使用MongoDB的三种主要方式:直接使用官方SDK、使用Spring JPA以及使用MongoTemplate,并对比分析了它们之间的差异。此外,文章深入讲解了Spring Data MongoDB提供的各种注解(如@Id, @Document, @Field等)以简化操作流程,并探讨了MongoTemplate监听器的应用,如设置主键值、记录日志等。
167 2
|
1月前
|
SQL NoSQL Java
springboot操作nosql的mongodb,或者是如何在mongodb官网创建服务器并进行操作
本文介绍了如何在Spring Boot中操作NoSQL数据库MongoDB,包括在MongoDB官网创建服务器、配置Spring Boot项目、创建实体类、仓库类、服务类和控制器类,以及如何进行测试。
19 1
springboot操作nosql的mongodb,或者是如何在mongodb官网创建服务器并进行操作
|
3月前
|
人工智能 NoSQL Go
Go MongoDB Driver 实例
Go MongoDB Driver 实例
21 1
|
3月前
|
NoSQL Java MongoDB
SpringBoot中MongoDB的那些骚操作用法
MongoDB作为一种NoSQL数据库,在不需要传统SQL数据库的表格结构的情况下,提供了灵活的数据存储方案。在Spring Boot中可以通过官方SDK、Spring JPA或MongoTemplate等方式集成MongoDB。文章重点介绍了Spring Data MongoDB提供的注解功能,例如`@Id`、`@Document`和`@Field`等,这些注解简化了Java对象到MongoDB文档的映射。此外,文中还讨论了MongoTemplate监听器的使用,包括设置主键值和日志记录等高级特性。
220 0
SpringBoot中MongoDB的那些骚操作用法
|
4月前
|
消息中间件 Java Kafka
Spring boot 自定义kafkaTemplate的bean实例进行生产消息和发送消息
Spring boot 自定义kafkaTemplate的bean实例进行生产消息和发送消息
181 5
|
3月前
|
Java 测试技术 API
SpringBoot单元测试快速写法问题之创建 PorkInst 实例如何解决
SpringBoot单元测试快速写法问题之创建 PorkInst 实例如何解决
|
3月前
|
Java Spring
Spring Boot Admin 离线实例
Spring Boot Admin 离线实例
27 0
|
3月前
|
NoSQL Java MongoDB
MongoDB 读写分离——SpringBoot读写分离
MongoDB 读写分离——SpringBoot读写分离
120 0
|
4月前
|
NoSQL Java MongoDB
Spring Boot与MongoDB的集成应用
Spring Boot与MongoDB的集成应用