SpringBoot——整合Mongodb

news2025/1/15 6:53:03

简单介绍

Mongdb是一个开源,高性能,无模式的文档型数据库,NoSQL数据库产品中的一种,是最像关系型数据库的非关系型数据库。

使用场景

  • 用户数据
    • 存储位置:数据库
    • 特征:永久性存储,修改频率极低
  • 游戏装备数据
    • 存储位置:数据库,MongDB
    • 特征:永久性存储与临时存储相结合,修改频率较高
  • 直播数据、打赏数据、粉丝数据
    • 存储地址:数据库,MongDB
    • 特征:永久性存储与临时存储相结合,修改频率极高
  • 物联网数据
    • 存储位置:MongDB
    • 特征:临时存储,修改频率飞快

总结:MongDB适合用于存储变化速度快的临时数据。

下载安装

下载MongoDB社区服务器 |蒙戈数据库

点击链接打开之后,你会来到MongoDB的下载界面:

下滑找到下载按钮,你会找到MongDB的下载按钮,下载好之后就是一个msi的安装包,按照步骤一步一步的下载安装好就可以了,更快捷的方式还可以选择直接下载ZIP包进行解压之后直接使用。

安装好之后,我们打开MongDB的bin目录,只要能看到这些文件就可以了

然后我们退回到MongDB的主目录下面,创建一个存放MongDB数据的目录:注意上面的路径的位置,是在MongDB的主目录下面再放一个目录叫做data,然后data下面再创建一个目录叫做db,然后我们再次回到bin目录下:这个文件就是MongDB的服务启动程序,我们在命令行中使用命令去启动它:

mongod --dbpath=..\data\db

看到输出了很多的内容,这就是初始化数据库的创建过程

MongDB的默认端口是27017,这个在上面的信息都可以看到:

所有的启动信息都可以在上面看到,就是不怎么好找

现在启动的是MongDB的服务端,接下来要启动MongDB的客户端,根据你安装方式的不同,客户端的启动方式也不一样,如果你是使用msi安装的MongDB,那么你的客户端就是你的桌面图标,如果你没有生成桌面图标,那么他的位置在:

如果你是使用的解压安装,那么客户端的名字就直接叫mong,并且位置和服务端的位置是一样的。

但其实默认的客户端并不好用,我直接打开IDEA,找到MongDB的连接选项:

配置保持默认就行,然后直接点击确定:

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

 直接就能打开一个在IDEA中操作MongDB的控制台。 

SpringBoot整合MongDB

首先加入依赖

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

修改对应的MongDB的配置信息:

 关键的配置信息只有一个,就是连接的地址,他的值的格式是

mongodb://主机地址:端口号/数据库

端口号如果不写,默认就是27017

然后就是编写测试类:

package com.example.spring01;

import com.example.spring01.pojo.book;
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
class Spring01ApplicationTests {
//	自动装配操作MongDB的对象
	@Autowired
	private MongoTemplate mongoTemplate;

	@Test
	void contextLoads() {
		book b = new book();
		b.setName("语文");
		b.setPrice(12);
//		save方法对应保存数据,可以直接将Java对象保存到MongDB的数据库中
		mongoTemplate.save(b);
	}
	@Test
	void find(){
//		fondAll方法查询所有的数据,参数是一个class文件,表示将数据库中的数据封装到class中
		for (book book : mongoTemplate.findAll(book.class)) {
			System.out.println(book);
		}
	}
}

关于SpringBoot整合第三方技术的方法就是,首先导入starter,然后编写配置,最后编写对应的API方法实现对应的业务即可

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/960962.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【C++】C++ 引用详解 ⑩ ( 常量引用案例 )

文章目录 一、常量引用语法1、语法简介2、常引用语法示例 二、常量引用语法1、int 类型常量引用示例2、结构体类型常量引用示例 在 C 语言中 , 常量引用 是 引用类型 的一种 ; 借助 常量引用 , 可以将一个变量引用 作为实参 传递给一个函数形参 , 同时保证该值不会在函数内部被…

可观测性用观测云,观测云护航「杭州亚运会」

2023 年亚洲运动会定于 2023 年 9 月 23 日至 10 月 8 日在中国杭州举办&#xff0c;这是在党的二十大召开后&#xff0c;我国疫情防控措施优化调整后举办的最大规模、最高水平的国际综合性运动会&#xff0c;意义十分重大。杭州亚组委以「举办一届史上最成功的亚运会」为工作目…

【0901作业】QTday3 对话框、发布软件、事件处理机制,使用文件相关操作完成记事本的保存功能、处理键盘事件完成圆形的移动

目录 一、思维导图 二、作业 2.1 使用文件相关操作完成记事本的保存功能 2.2 处理键盘事件完成圆形的移动 一、思维导图 二、作业 2.1 使用文件相关操作完成记事本的保存功能 void Widget::on_saveBtn_clicked() {QString filename QFileDialog::getSaveFileName(this,&…

MySQL数据库学习【进阶篇】

MySQL数据库学习进阶篇 MySQL进阶篇已经更新完毕&#xff0c;点击网址查看&#x1f449;&#xff1a;MySQL数据库进阶篇

【点击checkbox复选框,显示or隐藏某区域】

功能&#xff1a; 1. 选中复选框&#xff0c;显示隐藏的区域&#xff1b; 2. 取消选中&#xff0c;再隐藏该显示的区域。 方法1&#xff1a;在layui jquery框架下 代码如下&#xff1a; <!DOCTYPE html> <html lang"en"> <head><meta char…

接口测试系列 —— 什么是接口测试?

接口测试系列 为什么要做这个事情&#xff1f; 对自己过往在接口测试上的经验&#xff0c;写一个小结的系列文章&#xff0c;是一个系统性的思考和知识构建。发布的同时&#xff0c;也是希望获得更多感兴趣的同学的意见和反馈&#xff0c;可以把这个部分做的更好。 接口测试概…

充电比加油还快?一秒一公里,全液冷超充项目试点,5 年全覆盖?

华为中国数字能源旗舰峰会广西站在桂林举行&#xff0c;标志着桂林在数字能源领域的迈进。与此同时&#xff0c;桂林市和华为数字能源展开了合作&#xff0c;启动了全液冷超充示范项目&#xff0c;为城市的电动车充电基础设施添砖加瓦。 根据华为数字能源技术有限公司副总裁何波…

如何解决微信收款异常问题

一、自查原因 当您遇到微信收款异常问题时&#xff0c;首先需要了解异常的原因。可能的原因包括违反微信支付相关规定、存在异常交易行为、账户安全问题等。了解原因后&#xff0c;您可以采取相应的措施进行处理。 二、联系客服 您可以通过微信支付官方客服渠道咨询具体的问题&…

Is f(z)=1/z truly an analytic function

https://math.stackexchange.com/questions/755566/is-fz-1-z-truly-an-analytic-function

react快速开始(三)-create-react-app脚手架项目启动;使用VScode调试react

文章目录 react快速开始(三)-create-react-app脚手架项目启动&#xff1b;使用VScode调试react一、create-react-app脚手架项目启动1. react-scripts2. 关于better-npm-runbetter-npm-run安装 二、使用VScode调试react1. 浏览器插件React Developer Tools2. 【重点】用 VSCode …

Mediasoup在node.js下多线程实现

mediasoup基于socket.io的交互消息来完成join-room的请求过程。Join的过程&#xff0c;实际就是获取stream的过程&#xff0c;也就是视频加载时间(video-load-speed)。在RTMP系统&#xff0c;视频加载时间是秒开。Mediasoup给出的第一个frame是I-frame&#xff0c;但由于交互的…

web服务基础以及简单的站点应用部署

一、 简述静态网页和动态网页的区别。 静态网页&#xff1a; 优势&#xff1a; ①访问的效率比较高 ②网页内容是固定不变的&#xff0c;因此&#xff0c;容易被搜索引擎收录 ③网页程序在用户浏览器端解析&#xff0c;当客户端向服务器请求数据时&#xff0c;服务器会直接从磁…

2001-2021年中国城市分产业创新指数(574万+)

2001-2021年中国城市分产业创新指数&#xff08;574万&#xff09; 1、时间&#xff1a;2001-2021年 2、来源&#xff1a;中国城市和产业创新力报告 3、指标&#xff1a;包括城市创新指数、产业创新指数、城市-产业创新指数 4、整理方式&#xff1a; 整理方式是基于国家知…

【重要】Nand Flash基础知识与坏块管理机制的介绍

概述 Flash名称的由来&#xff0c;Flash的擦除操作是以block块为单位的&#xff0c;与此相对应的是其他很多存储设备&#xff0c;是以bit位为最小读取/写入的单位&#xff0c;Flash是一次性地擦除整个块&#xff1a;在发送一个擦除命令后&#xff0c;一次性地将一个block&…

javaee spring 测试aop 切面

切面类 package com.test.advice;import org.aspectj.lang.ProceedingJoinPoint;//增强类 public class MyAdvice {//将这个增强方法切入到service层的add方法前public void before(){System.out.println("添加用户之前");}}目标类 package com.test.service;publi…

怎样获取百度网盘的 “access_token“

怎样获取百度网盘的 “access_token” 文中AppKey、AppID&#xff0c;需要进入百度网盘开放平台 (baidu.com) 申请加入——>开发者认证——>创建应用&#xff0c;然后就有了 授权码模式获取 授权码模式 (baidu.com) # 这是官方网站&#xff0c;我看官方文件的时候&…

echarts自定义Y轴刻度及其颜色

yAxis: [{min:0,max:5,axisLabel: {color: "#999",textStyle: {fontSize: 14,fontWeight: 400,// 设置分段颜色color: function (value) {console.log("试试", value);if (value 1) {return "rgba(140,198,63,1)";} else if (value 2) {return…

CANalyzer panel

(1205条消息) CAPL 脚本中对信号&#xff0c;系统变量&#xff0c;环境变量的 事件响应_capl programs脚本怎么写信号运算_蚂蚁小兵的博客-CSDN博客 注意环境变量是在工程关联的dbc中创建的&#xff1b;而系统变量是在CANoe工程工具栏的”Environment”下的”System Variables”…

three.js(一):认识three.js并创建第一个3D应用

three.js 概述 1-three.js 是什么&#xff1f; three.js是用JavaScript编写的WebGL第三方库;three.js 提供了非常多的3D显示和编辑功能;具体而言&#xff0c;three.js 是一款运行在浏览器中的 3D 引擎&#xff0c;可以用three.js 创建各种三维场景&#xff0c;并对其进行编辑…

事务的总结

数据库事务 数据库事务是一个被视为单一的工作单元的操作序列。这些操作应该要么完整地执行&#xff0c;要么完全不执行。事务管理是一个重要组成部分&#xff0c;RDBMS 面向企业应用程序&#xff0c;以确保数据完整性和一致性。事务的概念可以描述为具有以下四个关键属性描述…