【SpringBoot】SpringBoot整合MongoDB完整实例
【摘要】
一、新建项目
我们这次直接从IEDA创建项目,具体配置如下,还是万年的Java8。
二、docker-compose 配置mongoDB
docker-compose.yml的具体配置如下,注意...
一、新建项目
我们这次直接从IEDA创建项目,具体配置如下,还是万年的Java8。
二、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
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
启动docker-compose up -d
本地测试连接MongoDB,根据配置,端口为 27018 ,默认用户名密码为 root 。
测试连接成功。
三、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
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
启动应用,查看日志,连接成功。
问题:Exception authenticating MongoCredential
可能出现的问题 Exception authenticating MongoCredential ,可能是用户没有对应权限,要重新创建一下。
db.createUser({
user: "root",
pwd: "root",
roles: [
{
role: "root",
db: "ms"
}
],
authenticationRestrictions: [ ],
mechanisms: [
"SCRAM-SHA-1"
],
passwordDigestor: "client"
})
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
四、编写测试类
我们通过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);
}
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
测试通过~
五、源码地址
本文源码同步更新在gitcode中,地址为 SpringBootWithMongoDB · master · 小雨青年 / Java Demo · GitCode
文章来源: coderfix.blog.csdn.net,作者:小雨青年,版权归原作者所有,如需转载,请联系作者。
原文链接:coderfix.blog.csdn.net/article/details/122941015
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)