SpringBoot——整合Mongodb

简单介绍

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

然后就是编写测试类:

java 复制代码
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方法实现对应的业务即可

相关推荐
不羁。。6 小时前
【撸靶笔记】第八关:GET - Blind - Boolian Based - Single Quotes
数据库·sql·mybatis
AwhiteV7 小时前
利用图数据库高效解决 Text2sql 任务中表结构复杂时占用过多大模型上下文的问题
数据库·人工智能·自然语言处理·oracle·大模型·text2sql
m0_595199857 小时前
Redis(以Django为例,含具体操作步骤)
数据库·redis·缓存
爱尚你19938 小时前
MySQL 三大日志:redo log、undo log、binlog 详解
数据库·mysql
小猿姐9 小时前
KubeBlocks AI:AI时代的云原生数据库运维探索
数据库·人工智能·云原生·kubeblocks
NocoBase10 小时前
10 个开源工具,快速构建数据应用
数据库·低代码·开源
麻辣清汤11 小时前
结合BI多维度异常分析(日期-> 商家/渠道->日期(商家/渠道))
数据库·python·sql·finebi
Kan先生12 小时前
对象存储解决方案:MinIO 的架构与代码实战
数据库·python
超级迅猛龙13 小时前
保姆级Debezium抽取SQL Server同步kafka
数据库·hadoop·mysql·sqlserver·kafka·linq·cdc
杨过过儿13 小时前
【Task02】:四步构建简单rag(第一章3节)
android·java·数据库