SpringBoot整合MongoDB完整實(shí)例代碼
一、新建項(xiàng)目
我們這次直接從IEDA創(chuàng)建項(xiàng)目,具體配置如下,還是萬年的Java8。

二、docker-compose 配置mongoDB
docker-compose.yml的具體配置如下,注意的是本地的文件夾data2022可以根據(jù)需要改成自己的名稱,如果本地還在跑其他MongoDB項(xiàng)目,注意端口號別沖突了。
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,根據(jù)配置,端口為 27018 ,默認(rèn)用戶名密碼為 root 。

測試連接成功。
三、SpringBoot配置MongoDB
先新建名為ms的數(shù)據(jù)庫,application.yml配置文件如下
server:
port: 8099
servlet:
encoding:
charset: UTF-8
force: true
spring:
data:
mongodb:
uri: mongodb://root:root@localhost:27018/ms
啟動應(yīng)用,查看日志,連接成功。

問題:Exception authenticating MongoCredential
可能出現(xiàn)的問題 Exception authenticating MongoCredential ,可能是用戶沒有對應(yīng)權(quán)限,要重新創(chuàng)建一下。
db.createUser({
user: "root",
pwd: "root",
roles: [
{
role: "root",
db: "ms"
}
],
authenticationRestrictions: [ ],
mechanisms: [
"SCRAM-SHA-1"
],
passwordDigestor: "client"
})
四、編寫測試類
我們通過MongoTemplate對MongoDB進(jìn)行數(shù)據(jù)讀寫,后面詳細(xì)
簡單寫一些方法。
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);
}
}
測試通過~

五、源碼地址
本文源碼同步更新在gitcode中,地址為 SpringBootWithMongoDB · master · 小雨青年 / Java Demo · GitCode
到此這篇關(guān)于SpringBoot整合MongoDB完整實(shí)例代碼的文章就介紹到這了,更多相關(guān)SpringBoot整合MongoDB內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
SpringCloud微服務(wù)架構(gòu)實(shí)戰(zhàn)之微服務(wù)治理功能的實(shí)現(xiàn)
這篇文章主要介紹了SpringCloud微服務(wù)架構(gòu)實(shí)戰(zhàn)之微服務(wù)治理,這些治理工具主要包括服務(wù)的注冊與發(fā)現(xiàn)、負(fù)載均衡管理、動態(tài)路由、服務(wù)降級和故障轉(zhuǎn)移、鏈路跟蹤、服務(wù)監(jiān)控等,需要的朋友可以參考下2022-02-02
SSM如何實(shí)現(xiàn)在Controller中添加事務(wù)管理
這篇文章主要介紹了SSM如何實(shí)現(xiàn)在Controller中添加事務(wù)管理,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-02-02
Java基于阻塞隊(duì)列實(shí)現(xiàn)生產(chǎn)者消費(fèi)者模型示例詳解
這篇文章主要介紹了Java基于阻塞隊(duì)列實(shí)現(xiàn)生產(chǎn)者消費(fèi)者模型,阻塞隊(duì)列的特點(diǎn)就是阻塞兩個字,阻塞功能使得生產(chǎn)者和消費(fèi)者兩端的能力得以平衡,當(dāng)有任何一端速度過快時,阻塞隊(duì)列便會把過快的速度降下來,感興趣的朋友可以參考下2023-12-12

