MongoDB 整合SpringBoot舉例介紹
更新時(shí)間:2025年05月09日 11:06:04 作者:沒(méi)有感情的一匹碼
這篇文章主要介紹了MongoDB 整合SpringBoot的相關(guān)知識(shí),本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧
映入依賴
<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地址 會(huì)自動(dòng)創(chuàng)建數(shù)據(jù)庫(kù)
定義文檔(文檔相當(dāng)于MYSQL 的行)
定義文檔實(shí)體
@Data
@AllArgsConstructor
@NoArgsConstructor
@Document("chat_message")
public class ChatMessages {
@Id
private Long messageId;
/**
* 聊天記錄列表json字符串
*/
private String content;
} @Test
public void test(){
ChatMessages chatMessages = new ChatMessages(1L,"你好");
mongoTemplate.insert(chatMessages);
}增刪改查
public void testInsert(){
ChatMessages chatMessages = new ChatMessages();
chatMessages.setContent("你好");
mongoTemplate.insert(chatMessages);
}
@Test
public void testQuery(){
ChatMessages byId = mongoTemplate.findById("680e38d1eb0e2f7b6d287541", ChatMessages.class);
System.out.print(byId);
}
@Test
public void testUpdate1(){
// 根據(jù)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);
}
@Test
public void testUpdate2(){
// 根據(jù)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);
}
@Test
public void testRemove(){
// 根據(jù)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);
}到此這篇關(guān)于MongoDB 整合SpringBoot舉例介紹的文章就介紹到這了,更多相關(guān)MongoDB 整合SpringBoot內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
您可能感興趣的文章:
相關(guān)文章
SpringBoot中注解實(shí)現(xiàn)定時(shí)任務(wù)的兩種方式
這篇文章主要介紹了SpringBoot中注解實(shí)現(xiàn)定時(shí)任務(wù)的兩種方式,SpringBoot 定時(shí)任務(wù)是一種在SpringBoot應(yīng)用中自動(dòng)執(zhí)行任務(wù)的機(jī)制,通過(guò)使用Spring框架提供的@Scheduled注解,我們可以輕松地創(chuàng)建定時(shí)任務(wù),需要的朋友可以參考下2023-10-10
springboot 整合fluent mybatis的過(guò)程,看這篇夠了
這篇文章主要介紹了springboot 整合fluent mybatis的過(guò)程,配置數(shù)據(jù)庫(kù)連接創(chuàng)建數(shù)據(jù)庫(kù)的詳細(xì)代碼,本文給大家介紹的非常詳細(xì),需要的朋友可以參考下2021-08-08
SpringBoot?整合ChatGPT?API項(xiàng)目實(shí)戰(zhàn)教程
這篇文章主要介紹了SpringBoot整合ChatGPT API項(xiàng)目實(shí)戰(zhàn)教程,本文通過(guò)示例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-05-05
SpringBoot配置多數(shù)據(jù)源的四種方式分享
在日常開(kāi)發(fā)中我們都是以單個(gè)數(shù)據(jù)庫(kù)進(jìn)行開(kāi)發(fā),在小型項(xiàng)目中是完全能夠滿足需求的,但是,當(dāng)我們牽扯到大型項(xiàng)目的時(shí)候,單個(gè)數(shù)據(jù)庫(kù)就難以承受用戶的CRUD操作,那么此時(shí),我們就需要使用多個(gè)數(shù)據(jù)源進(jìn)行讀寫(xiě)分離的操作,本文就給大家介紹SpringBoot配置多數(shù)據(jù)源的方式2023-07-07

