SpringBoot整合MongoDB完整实例代码
目录
- 一、新建项目
- 二、docker-compose 配置mongoDB
- 三、SpringBoot配置MongoDB
- 问题:Exception authenticating MongoCredential
- 四、编写测试类
- 五、源码地址
一、新建项目 我们这次直接从IEDA创建项目,具体配置如下,还是万年的Java8。
文章图片
二、docker-compose 配置mongoDB
docker-compose.yml
的具体配置如下,注意的是本地的文件夹data2022可以根据需要改成自己的名称,如果本地还在跑其他MongoDB项目,注意端口号别冲突了。version: "3"services:mongo:image: mongoenvironment:MONGO_INITDB_ROOT_USERNAME: rootMONGO_INITDB_ROOT_PASSWORD: rootports:- "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: 8099servlet:encoding:charset: UTF-8force: truespring: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; @SpringBootTestpublic class CatTest {@Autowiredprivate MongoTemplate mongoTemplate; @Testpublic void createTest(){Cat cat = new Cat(); cat.setName("糖果"); cat.setAge(3); cat.setLikeCount(100); mongoTemplate.insert(cat); }}
测试通过~
【SpringBoot整合MongoDB完整实例代码】
文章图片
五、源码地址 本文源码同步更新在gitcode中,地址为 SpringBootWithMongoDB · master · 小雨青年 / Java Demo · GitCode
到此这篇关于SpringBoot整合MongoDB完整实例代码的文章就介绍到这了,更多相关SpringBoot整合MongoDB内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
推荐阅读
- Activiti(一)SpringBoot2集成Activiti6
- MongoDB,Wondows下免安装版|MongoDB,Wondows下免安装版 (简化版操作)
- SpringBoot调用公共模块的自定义注解失效的解决
- 解决SpringBoot引用别的模块无法注入的问题
- Spring|Spring Boot 整合 Activiti6.0.0
- springboot使用redis缓存
- springboot整合数据库连接池-->druid
- SpringBoot中YAML语法及几个注意点说明
- springboot结合redis实现搜索栏热搜功能及文字过滤
- springboot中.yml文件的值无法读取的问题及解决