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