SpringBoot整合MongoDB完整实例代码

本文主要介绍了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内容请搜索0133技术站以前的文章或继续浏览下面的相关文章希望大家以后多多支持0133技术站!

以上就是SpringBoot整合MongoDB完整实例代码的详细内容,更多请关注0133技术站其它相关文章!

赞(0) 打赏
未经允许不得转载:0133技术站首页 » Java