SpringBoot整合MongoDB完整实例代码

 更新时间:2022年02月16日 09:41:43   作者:小雨青年  
本文主要介绍了SpringBoot整合MongoDB完整实例,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

一、新建项目

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

image-20220214151123048

二、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 。

image-20220214152845005

测试连接成功。

三、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

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

image-20220214154438820

问题: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);
    }
    
}

测试通过~

image-20220215111907313

五、源码地址

本文源码同步更新在gitcode中,地址为 SpringBootWithMongoDB · master · 小雨青年 / Java Demo · GitCode

到此这篇关于SpringBoot整合MongoDB完整实例代码的文章就介绍到这了,更多相关SpringBoot整合MongoDB内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • springboot2+es7使用RestHighLevelClient的示例代码

    springboot2+es7使用RestHighLevelClient的示例代码

    本文主要介绍了springboot2+es7使用RestHighLevelClient的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-07-07
  • 解决SpringBoot在IDEA中热部署失效问题

    解决SpringBoot在IDEA中热部署失效问题

    热部署是指程序运行过程中实时更新或替换其组件的技术,即项目正在启动中,修改了配置文件中某个值或者添加了某个方法或者修改了某个方法参数,本文给大家介绍了解决SpringBoot在IDEA中热部署失效问题,需要的朋友可以参考下
    2024-01-01
  • Java如何发起http请求的实现(GET/POST)

    Java如何发起http请求的实现(GET/POST)

    这篇文章主要介绍了Java如何发起http请求的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-03-03
  • Spring Boot2配置Swagger2生成API接口文档详情

    Spring Boot2配置Swagger2生成API接口文档详情

    这篇文章主要介绍了Spring Boot2配置Swagger2生成API接口文档详情,文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的小伙伴可以参考一下
    2022-09-09
  • Java Web开发入门书籍实例解析(总结一)

    Java Web开发入门书籍实例解析(总结一)

    从事Java Web开发这一段时间来,对Java 面向对象的思想和MVC开发模式可以说已经熟悉了。我当前参与的项目使用的框架是Spring、SpringMVC、Hibernate。下面脚本之家小编给大家整理一篇教程帮助大家学习javaweb相关知识,感兴趣的朋友可以参考下
    2016-03-03
  • 重新理解Java泛型

    重新理解Java泛型

    这篇文章主要介绍了重新理解Java泛型,具有一定参考价值,需要的朋友可以了解下。
    2017-11-11
  • java设计模式之观察者模式

    java设计模式之观察者模式

    这篇文章主要为大家详细介绍了java设计模式之观察者模式的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-12-12
  • java冒泡排序和快速排序代码

    java冒泡排序和快速排序代码

    本文主要介绍了java冒泡排序和快速排序的实例代码。具有很好的参考价值。下面跟着小编一起来看下吧
    2017-04-04
  • 浅谈java中异常抛出后代码是否会继续执行

    浅谈java中异常抛出后代码是否会继续执行

    这篇文章主要给大家介绍了java中异常抛出后代码是否会继续执行,文章通过几种情况的代码示例给大家详细分析了这个情况,有需要的朋友们可以参考借鉴,下面来一起看看吧。
    2016-10-10
  • 详解基于Spring Boot/Spring Session/Redis的分布式Session共享解决方案

    详解基于Spring Boot/Spring Session/Redis的分布式Session共享解决方案

    本篇文章主要介绍了详解基于Spring Boot/Spring Session/Redis的分布式Session共享解决方案 ,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-06-06

最新评论