千家信息网

如何三步集成MongoDB + Spring Boot

发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,如何三步集成MongoDB + Spring Boot,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。第一步 部署mong
千家信息网最后更新 2026年11月02日如何三步集成MongoDB + Spring Boot

如何三步集成MongoDB + Spring Boot,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

第一步 部署mongo数据库

部署mongodb,具体就按自己的需要来,大致还是两类吧,一类是直接下载安装,无关windows,linux。另一类是容器启动。

这里主要介绍使用docker启动一个mongodb的容器。

docker里一共有二种方式。

一、是直接用命令拉取并启动
docker run -d --network some-network --name some-mongo \    -v /my/own/datadir:/data/db \    -e MONGO_INITDB_ROOT_USERNAME=mongoadmin \    -e MONGO_INITDB_ROOT_PASSWORD=secret \    mongo

具体详细的其他参数可以在网站https://hub.docker.com/_/mongo 里面找到。

二、使用yml配置文件启动

下面附上我的yml文件,可供参考

version: "3.7"services:  mangodb:    image: mongo:latest    restart: always    networks:      - loc_net    ports:      - 27017:27017    volumes:      - /myPath/mongo/db:/data/db    environment:      MONGO_INITDB_ROOT_USERNAME: username      MONGO_INITDB_ROOT_PASSWORD: password    deploy:      replicas: 1      placement:        constraints: [node.role == manager]networks:  loc_net:    external: true

https://hub.docker.com/_/mongo 里也有更详细的配置。

需要注意的一点是

简单的说,如果宿主机映射的目录下已经有数据库数据,那么初始化的用户名和密码将不生效。

关于mongo的配置文件的目录:

第二步 配置mongodb数据源

引入maven依赖

    org.springframework.boot    spring-boot-starter-data-mongodb

在spring boot项目里配置

spring:  data:    mongodb:    uri: mongodb://username:password@127.0.0.1:27017/test?authSource=admin&readPreference=primary&ssl=false

authSource:指定用户身份认证数据库readPreference:设置读优先节点ssl:使用ssl连接

和mysql差不多,这里是单数据源的配置,如果是多数据源的配置也很简单,可以到https://docs.mongodb.com/manual/mongo/自行查看,包括所有的连接参数。

第三步 注入使用

单数据源,普通的使用,并不需要在spring工厂重新注入,直接使用即可。

@Autowiredprivate MongoTemplate mongoTemplate;

而且mongo的sdk本身已经比较上层,直接使用很方便。

对于mongo的CRUD操作,请到https://docs.mongodb.com/manual/crud/学习。
(1)关于内存型数据库的理解:

数据文件还是存储磁盘中,但是在内存中有他自己的数据库缓存区,对于需要读取的数据会通过MMAP映射,读入缓存区,大大加快查询数据。

(2)关于mongo和mysql的简单对比:

一、主要区别,mongo是非关系型数据库,mysql是关系型数据库。

二、mysql不同的存储引擎不同的存储方式,大多还是磁盘IO为主。mongo是虚拟内存加持久化,正如上面说的,利用了内存读取。内存读取数据远超磁盘IO,这也是mongo查询远超mysql的原因。

三、mysql稳定性更好。事务性很强,而mongo事务支持不强。

四、关于mysql和mongo的插入和查询的性能对比,推荐这篇文章https://www.cnblogs.com/liaocheng/p/4237091.html

五、在mongo中的主键是"_id",不指定主键mongo会自己生成一个,不指定主键插入的速度要比指定主键快。

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注行业资讯频道,感谢您对的支持。

数据 数据库 配置 内存 数据源 文件 磁盘 还是 存储 查询 不同 事务 参数 容器 方式 用户 目录 存区 学习 帮助 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 华服互联网科技靠谱吗 广东万易互联网科技有限公司惠州分公司 哈尔滨大商圈互联网科技有限公司 互联网科技公司税收优惠 青岛互联网科技公司 广州宏创互联网科技 互联网女皇 腾讯科技 广州善班互联网科技 多迪互联网科技有限公司 华中科技有哪些互联网大佬 宁夏众和广鑫互联网科技有限公司 注册互联网科技公司经营范围大全 乌苏新华互联网科技做什么的 东莞新华互联网科技学校 高科技互联网套路 互联网风格科技公司名称 信承诺互联网科技有限公司 唐山双旺合互联网科技产业园 承德科技产业互联网平台 互联网的黑科技实验室 上海挚品互联网科技有限公司 有格互联网科技 互联网科技公司起名 互联网科技未来 金融科技 互联网金融 华中科技大学互联网 中国最先进互联网科技公司 欧洲十大科技互联网公司 互联网科技手机排行榜 科技互联网公司两年变化
0