SpringBoot整合MongoDB完整實(shí)例代碼
一、新建項(xiàng)目
我們這次直接從IEDA創(chuàng)建項(xiàng)目,具體配置如下,還是萬(wàn)年的Java8。
二、docker-compose 配置mongoDB
docker-compose.yml
的具體配置如下,注意的是本地的文件夾data2022可以根據(jù)需要改成自己的名稱,如果本地還在跑其他MongoDB項(xiàng)目,注意端口號(hào)別沖突了。
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
啟動(dòng)docker-compose up -d
本地測(cè)試連接MongoDB,根據(jù)配置,端口為 27018 ,默認(rèn)用戶名密碼為 root 。
測(cè)試連接成功。
三、SpringBoot配置MongoDB
先新建名為ms的數(shù)據(jù)庫(kù),application.yml
配置文件如下
server: port: 8099 servlet: encoding: charset: UTF-8 force: true spring: data: mongodb: uri: mongodb://root:root@localhost:27018/ms
啟動(dòng)應(yīng)用,查看日志,連接成功。
問(wèn)題:Exception authenticating MongoCredential
可能出現(xiàn)的問(wèn)題 Exception authenticating MongoCredential ,可能是用戶沒(méi)有對(duì)應(yīng)權(quán)限,要重新創(chuàng)建一下。
db.createUser({ user: "root", pwd: "root", roles: [ { role: "root", db: "ms" } ], authenticationRestrictions: [ ], mechanisms: [ "SCRAM-SHA-1" ], passwordDigestor: "client" })
四、編寫(xiě)測(cè)試類
我們通過(guò)MongoTemplate對(duì)MongoDB進(jìn)行數(shù)據(jù)讀寫(xiě),后面詳細(xì)
簡(jiǎn)單寫(xiě)一些方法。
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); } }
測(cè)試通過(guò)~
五、源碼地址
本文源碼同步更新在gitcode中,地址為 SpringBootWithMongoDB · master · 小雨青年 / Java Demo · GitCode
到此這篇關(guān)于SpringBoot整合MongoDB完整實(shí)例代碼的文章就介紹到這了,更多相關(guān)SpringBoot整合MongoDB內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(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ù)的注冊(cè)與發(fā)現(xiàn)、負(fù)載均衡管理、動(dòng)態(tài)路由、服務(wù)降級(jí)和故障轉(zhuǎn)移、鏈路跟蹤、服務(wù)監(jiān)控等,需要的朋友可以參考下2022-02-02SSM如何實(shí)現(xiàn)在Controller中添加事務(wù)管理
這篇文章主要介紹了SSM如何實(shí)現(xiàn)在Controller中添加事務(wù)管理,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-02-02Java基于阻塞隊(duì)列實(shí)現(xiàn)生產(chǎn)者消費(fèi)者模型示例詳解
這篇文章主要介紹了Java基于阻塞隊(duì)列實(shí)現(xiàn)生產(chǎn)者消費(fèi)者模型,阻塞隊(duì)列的特點(diǎn)就是阻塞兩個(gè)字,阻塞功能使得生產(chǎn)者和消費(fèi)者兩端的能力得以平衡,當(dāng)有任何一端速度過(guò)快時(shí),阻塞隊(duì)列便會(huì)把過(guò)快的速度降下來(lái),感興趣的朋友可以參考下2023-12-12