Spring Boot整合MongoDB

【Spring Boot 整合 MongoDB 完整指南】 MongoDB是一种开源的,它使用类似于JSON的BSON格式(Binary JSON)来存储数据。MongoDB使用集合(Collections)来组织文档(Documents),每个文档都是由键值对组成的。 阅读详情

简介

MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。
MongoDB 是由 C++ 编写的非关系型数据库,是一个基于分布式文件存储的开源数据库系统,它将数据存储为一个文档,数据结构由键值 (key=>value) 对组成。MongoDB 文档类似于 JSON 对象。字段值可以包含其他文档,数组及文档数组,非常灵活。

下载安装

从官网或者是国内镜像网站下载tar.gz文件,然后进行解压。并设置好相应的文件夹和配置文件。

[root@zookeeper mongodb]# tar -zxvf mongodb-linux-x86_64-4.0.0.tgz 
mongodb-linux-x86_64-4.0.0/README
mongodb-linux-x86_64-4.0.0/THIRD-PARTY-NOTICES
mongodb-linux-x86_64-4.0.0/MPL-2
mongodb-linux-x86_64-4.0.0/GNU-AGPL-3.0
mongodb-linux-x86_64-4.0.0/LICENSE-Community.txt
mongodb-linux-x86_64-4.0.0/bin/mongodump
mongodb-linux-x86_64-4.0.0/bin/mongorestore
mongodb-linux-x86_64-4.0.0/bin/mongoexport
mongodb-linux-x86_64-4.0.0/bin/mongoimport
mongodb-linux-x86_64-4.0.0/bin/mongostat
mongodb-linux-x86_64-4.0.0/bin/mongotop
mongodb-linux-x86_64-4.0.0/bin/bsondump
mongodb-linux-x86_64-4.0.0/bin/mongofiles
mongodb-linux-x86_64-4.0.0/bin/mongoreplay
mongodb-linux-x86_64-4.0.0/bin/mongod
mongodb-linux-x86_64-4.0.0/bin/mongos
mongodb-linux-x86_64-4.0.0/bin/mongo
mongodb-linux-x86_64-4.0.0/bin/install_compass
[root@zookeeper mongodb]# ls
mongodb-linux-x86_64-4.0.0  mongodb-linux-x86_64-4.0.0.tgz
[root@zookeeper mongodb]# cd mongodb-linux-x86_64-4.0.0
[root@zookeeper mongodb-linux-x86_64-4.0.0]# ls
bin  GNU-AGPL-3.0  LICENSE-Community.txt  MPL-2  README  THIRD-PARTY-NOTICES
[root@zookeeper mongodb-linux-x86_64-4.0.0]# mkdir -p ./data/db
[root@zookeeper mongodb-linux-x86_64-4.0.0]# mkdir -p ./logs
[root@zookeeper mongodb-linux-x86_64-4.0.0]# touch ./logs/mongodb.log

在这里插入图片描述
新建配置文件

vim mongodb.conf

内容如下:

port=27017
#db目录
dbpath=/usr/local/mongodb/mongodb-linux-x86_64-4.0.0/data/db
#日志目录
logpath=/usr/local/mongodb/mongodb-linux-x86_64-4.0.0/logs/mongodb.log
#后台
fork=true
#日志输出
logappend=true
#允许远程IP连接
bind_ip=0.0.0.0

启动:

[root@zookeeper mongodb-linux-x86_64-4.0.0]# ./bin/mongod --config mongodb.conf

需要注意,防火墙对端口进行开放

Spring Boot整合MongoDB

项目源码
1.导入依赖

 		<dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-mongodb</artifactId>
        </dependency>

2.修改配置

spring.data.mongodb.host=192.168.1.106
spring.data.mongodb.port=27017
spring.data.mongodb.database=test

3.创建示例
(1)创建实体类

public class User {
    @Id
    private String id;
    private String userId;
    private String name;
    private String password;
    public User() {
    }

    public User(String userId, String name, String password) {
        this.userId = userId;
        this.name = name;
        this.password = password;
    }

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getUserId() {
        return userId;
    }

    public void setUserId(String userId) {
        this.userId = userId;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    @Override
    public String toString() {
        return "User{" +
                "id='" + id + '\'' +
                ", userId='" + userId + '\'' +
                ", name='" + name + '\'' +
                ", password='" + password + '\'' +
                '}';
    }
}

2.创建DAO层
和 JPA 一样,SpringBoot 同样为开发者准备了一套 Repository ,只需要继承 MongoRepository 传入实体类型以及主键类型即可。

@Repository
public interface UserRepository extends MongoRepository<User, String> {
}

3.创建service及其实现

public interface UserService {
    public void add(User user);
    List<User> find();
}
@Service
public class UserServiceImpl implements UserService {

    @Autowired
    private UserRepository userRepository;
    @Override
    public void add(User user) {
        userRepository.save(user);
    }

    @Override
    public List<User> find() {
        return userRepository.findAll();
    }
}

3.创建接口测试

@RestController
@RequestMapping("/user")
public class UserController {
    @Autowired
    private UserService userService;
    @GetMapping("/add")
    public void save(@RequestBody User user){
        userService.add(user);
    }

    @GetMapping("/findAll")
    public String findAll(){
       for (User u : userService.find()){
           System.out.println(u);
       }
        return userService.find().toString();
    }
}

在这里插入图片描述
在这里插入图片描述

Spring Boot (三):Spring Boot整合MongoDB     在当前流行的NoSQL数据库当中,MongoDB也是使用比较广泛的一种数据库。MongoDB是文档型的NoSQL数据库,具有大数据量,高并发等优势,但缺点是不能够建立实体关系,而且事务管理机制实现起来也比较麻烦。    首先,在pom文件中引入依赖:&lt;!-- https://mvnrepository.com/artifact/org.springframework.boot/spr... 阅读详情

相关推荐

深入Spring Boot与MongoDB整合的源码解析

Spring Boot作为Java领域内一个非常流行的项目启动框架,它的出现极大地简化了企业级应用的开发流程。Spring Boot项目整合MongoDB数据库,可以为我们提供一个轻量级、灵活且高效的非关系型数据库解决方案,特别适合处理大规模数据集合、高伸缩性的场景。本章将概览Spring Boot与MongoDB整合的基本概念和优势,为后续章节中具体配置、实现细节和优化策略奠定理论基础。MongoDB是一种面向文档的数据库管理系统,它支持高性能、高可用性和易扩展的数据存储。

weixin_28913879的博客 1114

MongoDB的安装

文章目录一、解压缩二、创建目录三、配置文件三、启动 一、解压缩 tar -zxvf mongodb-linux-x86_64-rhel70-4.0.24.tgz mv mongodb-linux-x86_64-rhel70-4.0.24 mongodb 二、创建目录 进入mongoda目录 数据库目录: mkdir -p data/db 数据库日志: mkdir log 三、配置文件 vi mongodb.conf systemLog: destination: file path: "

shall潇の菜园 858

线结构光三维重建(二):光平面标定与激光轮廓提取的实战优化

本文深入探讨了线结构光三维重建中的光平面标定与激光轮廓提取两大核心环节的实战优化。详细介绍了从棋盘格标定板法到自动化高鲁棒性标定的流程优化,并分享了针对复杂工业场景(如低对比度、高反光表面)的激光轮廓提取组合策略,旨在提升三维重建系统的整体精度与稳定性。

weixin_29057237的博客 328

Springboot整合mongodb

总结的关于springboot如何整理mongodb的一些用法

m0_63837020的博客 4093

别再手动抄表了!用MCGS触摸屏自动存数据到U盘,5分钟搞定报表导出

本文详细介绍了如何利用MCGS触摸屏实现工业数据自动记录与U盘导出,彻底告别传统手动抄表方式。通过昆仑通态MCGS系统,可构建零误差自动化报表系统,实现实时数据采集、双重备份及标准CSV格式导出,大幅提升数据准确性和工作效率。

weixin_30872157的博客 792

SpringBoot整合MongoDB

MongoDB是一种开源的文档型数据库管理系统,它使用类似于JSON的BSON格式(Binary JSON)来存储数据。与传统关系型数据库不同,MongoDB不使用表和行的结构,而是采用集合(Collection)(Mysql表)和文档(Document)(MySql行)的概念来组织数据。

qq_65142821的博客 9492

以太网详解(一)-MAC/PHY/MII/RMII/GMII/RGMII基本介绍

网络设备中肯定离开不MAC和PHY,本篇文章将详细介绍下以太网中一些常见术语与接口。 MAC和PHY结构 从硬件角度来看以太网是由CPU,MAC,PHY三部分组成的,如下图示意: 上图中DMA集成在CPU,CPU,MAC,PHY并不是集成在同一个芯片内,由于PHY包含大量模拟器件,而MAC是典型的数字电路,考虑到芯片面积及模拟/数字混合架构的原因,**将MAC集成进CPU而将PHY留在片外,这种...

sternlycore的博客 13万+

《SpringBoot篇》15.SpringBoot整合MongoDB超详细教程(包括安装教程)

本文是介绍MongoDB用法与SpringBoot整合说明:在整合之前先简单介绍一些MongoDB数据库。MongoDB是一个由C++语言编写的、基于分布式文件存储的、开源、高性能、无模式的文档型数据库,在高负载的情况下,添加更多的节点,可以保证服务器性能,MongoDB 旨在为WEB应用提供可扩展的高性能数据存储解决方案。MongoDB 将数据存储为一个文档,数据结构由键值(key=>value)对组成。MongoDB 文档类似于 JSON 对象。字段值可以包含其他文档,数组及文档数组。

陈老老老板的博客 3万+

【MicroPython编程-ESP32篇:设备驱动】-BNO08X系列传感器驱动

BNO08X 系列(BNO085/BNO086)是一款系统级封装 (SiP),集成了三轴加速度计、三轴陀螺仪、磁力计以及运行 CEVA SH-2 固件的 32 位 ARM® Cortex™-M0+ 微控制器。SH-2 包含 MotionEngine™ 软件,该软件提供复杂的信号处理算法来处理传感器数据,并提供精确的实时 3D 姿态、航向、校准加速度和校准角速度,以及更高级的上下文输出。BNO08X 集成在一个 28 引脚 LGA 封装中,尺寸为 3.8mm x 5.2mm x 1.1mm。它兼容 Andro

视觉与物联智能 691

基于深度学习的停车位检测系统(UI界面 + YOLOv8/v7/v6/v5代码 + 训练数据集)

传统的停车位检测方法主要依赖于人工或基于简单图像处理的技术,存在检测速度慢、准确率低、环境适应性差等问题。近年来,随着深度学习技术的快速发展,基于目标检测的停车位检测系统已成为研究的热点。本文基于YOLO(You Only Look Once)系列模型(包括YOLOv5、YOLOv6、YOLOv7和YOLOv8),开发了一个完整的停车位检测系统,支持实时检测、结果可视化以及UI交互界面。本文实现了一个基于深度学习的停车位检测系统,采用YOLO模型在实时视频流中进行高效检测。

YOLO 332

SpringBoot——整合MongoDB详解

【代码】SpringBoot——整合MongoDB详解。

吴声子夜歌的博客 6806

10、智慧变电站 - 加载vue大屏元素(整体效果)

这一篇文章非常简单,但是也非常出效果阅读前面几篇文章,都可以看到有顶部、左侧、右侧的面板,主要我不会录gif图片,大屏元素面板还有一些动态加载的效果。 vue的transition标签 Vue 提供了 transition 的封装组件,可以给任何元素和组件添加进入/离开过渡;在进入/离开的过渡中,会有 6 个 class 切换:v-enter 、v-enter-active 、v-enter-to 、v-leave 、v-leave-active 、v-leave-to。我们正好使用这个特性来达到面板进入

github_39988036的博客 1039

spring boot 整合mongodb

Spring Boot其设计目的是用来简化新Spring应用的初始搭建以及开发过程,简化配置

xphsc的专栏 1万+

从零开始学 AUTOSAR:深入浅出 SAE J1939 诊断通信管理器(J1939Dcm)深度完整版

SAE J1939 是美国汽车工程师学会制定的重型车辆 CAN 总线通信标准,覆盖卡车、客车、工程机械、农机、船舶等,是商用车领域的 “通用语言”。基于CAN 2.0B 扩展帧(29 位 ID)(车规主流)PGN(参数组号)+ SPN(可疑参数号)核心标准:J1939-21:数据链路层(CAN 帧格式、地址声明)J1939-71:应用层(普通信号、报文)诊断层(核心!J1939Dcm 依据)J1939-81:网络管理(地址管理、节点检测)

getusushu的博客 113

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

Spring Boot 整合MongoDB

本文介绍了SpringBoot3.x集成MongoDB的实现方法。首先通过引入spring-boot-starter-data-mongodb依赖并配置数据源连接信息。文章详细说明了MongoDB文档实体的定义方式,包括@Document和@MongoId等注解的使用。重点讲解了MongoTemplate和MongoRepository两个核心类的功能:MongoTemplate提供CRUD、聚合等丰富的数据库操作;MongoRepository则简化基础操作,支持方法名查询和@Query注解。文章还提供了

yzzdid的博客 1373

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

Spring boot整合MongoDB

简介 MongoDB是一种面向文档的数据库管理系统,他是一个介于关系型数据库和非关系型数据库之间的产品,MongoDB功能丰富,它是一种类似JSON的BSON数据格式,既可以存储简单的数据格式,也可以存储复杂的数据类型。MongoDB最大的特点是它支持的查询语言非常强大,并且还支持对数据建立索引。总体来说,MongoDB是一款应用相当广泛的NoSQL数据库。 1.MongoDB安装 sudo apt-get install mongodb 假如安装有困难的话,可以登陆下面这个网址,这篇文章是我写的专门解决

m0_46741750的博客 352

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

Spring Boot 整合 MongoDb 教程。

一:安装 Mongo 服务(linux docker容器方式安装) 查看服务器已经下载的docker镜像 [root@localhost ~]#docker images 还没有 mongo 的镜像 docker下载最新版本的mongo镜像命令: [root@localhost ~]#docker pull mongo:latest 下载完成后,我们查看镜像列表已经有了 启动一个mongodb 容器服务 [root@localhost ~]#docker run -itd -

不受天磨非好汉,不遭人妒是庸才——着实着迷゛ 1104

spring boot 工程整合mongodb,遇到的坑

spring boot 整合 mongodb ,版本、MongoTemplate、连接字符串等问题

yanweijie0317的专栏 1099

Spring boot 整合 mongoDB

1.导包 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-mongodb</artifactId> </dep...

卟♪恋 273

Windows上安装MongoDB,Spring Boot整合MongoDB

springboot有整合了MongoDB的依赖,直接在项目的pom.xml中引入,版本和springboot版本一致。

沐雨橙风ιε的博客 2017

Spring Boot整合MongoDB实现增删改查

MongoDB这两年来是本人一直使用较多的,之前的使用大多通过封装的工具类对数据库进行操作,虽然也算稳定,但有了Spring Boot之前的工具类直接加到SpringBoot里就没那么好使了,因此查阅资料后自己小试牛刀写了个增删改查,觉得也还不错,所以分享给大家看看 1 pom和主配置文件,为了方便大家复制粘贴贴个完整的 <project xmlns="http://maven.apache.

技术成就梦想 1万+

Spring Boot 整合 MongoDB:详细步骤与原创指南

Spring Boot 作为 Java 开发的主流框架,与 MongoDB 的整合可以极大地简化开发流程,提升项目效率。本文将详细介绍 Spring Boot 与 MongoDB 的整合步骤,并提供原创的详细指南和代码示例。在 Service 或 Controller 中注入。运行 Spring Boot 项目,访问。,即可测试 MongoDB 的整合效果。确保 MongoDB 已经启动并运行。

恩爸编程 1083

spring boot整合Morphia对MongoDB进行操作

springboot整合Morphia对MongoDb进行相应操作

u012734441的专栏 6569
上一篇: 设计模式--组合模式
下一篇: 设计模式--代理模式
CodersCoder
博客等级 码龄10年 90粉丝 258原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值