当前位置: 首页 > news >正文

MongoDB 整合SpringBoot

映入依赖

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

yaml配置

spring:data:mongodb:uri: mongodb://localhost:27017/chat_memory_db # mongodb地址 会自动创建

数据库

定义文档(文档相当于MYSQL 的行)

定义文档实体

@Data
@AllArgsConstructor
@NoArgsConstructor
@Document("chat_message")
public class ChatMessages {@Idprivate Long messageId;/*** 聊天记录列表json字符串*/private String content;}

    @Testpublic void test(){ChatMessages chatMessages = new ChatMessages(1L,"你好");mongoTemplate.insert(chatMessages);}

增删改查

public void testInsert(){ChatMessages chatMessages = new ChatMessages();chatMessages.setContent("你好");mongoTemplate.insert(chatMessages);}@Testpublic void testQuery(){ChatMessages byId = mongoTemplate.findById("680e38d1eb0e2f7b6d287541", ChatMessages.class);System.out.print(byId);}@Testpublic void testUpdate1(){// 根据id修改Criteria criteria = Criteria.where("_id").is("680e38d1eb0e2f7b6d287541");Query query = new Query(criteria);Update update = new Update();update.set("content","新的聊天记录");// 新增或者更新mongoTemplate.upsert(query,update,ChatMessages.class);}@Testpublic void testUpdate2(){// 根据id修改Criteria criteria = Criteria.where("_id").is("100");Query query = new Query(criteria);Update update = new Update();update.set("content","新的聊天记录");// 新增或者更新mongoTemplate.upsert(query,update,ChatMessages.class);}@Testpublic void testRemove(){// 根据id修改Criteria criteria = Criteria.where("_id").is("100");Query query = new Query(criteria);Update update = new Update();update.set("content","新的聊天记录");// 新增或者更新mongoTemplate.remove(query,ChatMessages.class);}

相关文章:

  • [C语言]第一章-初识
  • ROS2 开发踩坑记录(持续更新...)
  • NSOperation深入解析:从使用到底层原理
  • GAF-CNN-SSA-LSSVM故障诊断/分类预测,附带模型研究报告(Matlab)
  • 架构思维:构建高并发读服务_异构数据的同步一致性方案
  • Webug4.0靶场通关笔记12- 第17关 文件上传之前端拦截(3种方法)
  • 矿泉水瓶的绘制
  • 511本周总结(37)demo优化
  • 【ROS2】launch启动文件如何集成到ROS2(Python版本)
  • 实验三 触发器及基本时序电路
  • Python_leve2.1
  • 开源项目:optimum-quanto库介绍
  • Linux线程同步机制深度解析:信号量、互斥锁、条件变量与读写锁
  • Linux环境下的进程创建-fork函数的使用与写时拷贝, 进程退出exit和_exit的区别,以及进程等待waitpid和status数据的提取方法
  • nproc命令查看可用核心数量详解
  • Anaconda安装Labelimg包
  • Raycaster光线投射
  • 5块钱的无忧套餐卡可以变成流量卡吗
  • OpenLayers:侦听缩放级别的变化
  • Hotspot分析(1):单细胞转录组识别信息基因(和基因模块)
  • 北美票房|“雷霆”开画票房比“美队4”低,但各方都能接受
  • 两个灵魂,一支画笔,意大利艺术伴侣的上海灵感之旅
  • 贵州黔西市游船倾覆事故发生后,多家保险公司紧急响应
  • 国铁:今天预计发送旅客2110万人次,加开列车1896列
  • 辽宁召开假期安全生产工作调度会:绝不允许层层失守,绝不允许“带病运行”
  • 日本来信|劳动者的书信④