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

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);}

http://www.xdnf.cn/news/3854.html

相关文章:

  • Webug4.0靶场通关笔记12- 第17关 文件上传之前端拦截(3种方法)
  • Google Agent space时代,浅谈Agent2Agent (A2A) 协议和挑战!
  • 什么是右值引用和移动语义?大白话解释
  • 5个重要的财务指标讲解
  • Javase 基础加强 —— 02 泛型
  • SpringBoot中接口签名防止接口重放
  • Debezium Binlog解析与事件转换流程详解
  • Linux 入门:操作系统进程详解(上)
  • P3469 [POI 2008] BLO-Blockade
  • 字符串问题c++
  • python:如何计算皮尔森相关系数
  • LynxHub开源程序是您的一体化 AI 平台
  • **Java面试:技术大比拼**
  • 初试C++报错并解决记录
  • 【win11 】win11 键盘测试
  • K230的摄像头使用通道
  • SAM2-Unet
  • 【Java学习笔记】构造器
  • IPv6地址分类
  • uniswap v4 hooks标志位
  • 重排和重绘
  • 广东省考备考(第一天5.4)—判断(对称)
  • 组合模式深度解析:构建灵活树形结构的终极指南
  • Spring AI 实战:第四章、Spring AI多模态之看图说话
  • 四、shell脚本--流程控制语句:指挥脚本“走哪条路”
  • C++ 建造者模式详解
  • 第13章:陈默再访海奥华
  • QT下根据深度信息计算物体尺寸并UI显示的简单方案
  • 【翻译、转载】MCP 核心架构
  • Docker 容器化部署