SpringBoot整合MongoDB的實現(xiàn)代碼
MongoDB官網(wǎng)安裝:
https://www.mongodb.com/download-center/community
MongoDB客戶端工具(Mongo Management Studio)安裝:
http://mms.litixsoft.de/#software_pricing
一、添加Maven依賴
<!--mongodb-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-mongodb</artifactId>
</dependency>
二、application.yml配置
spring:
data:
mongodb:
host: 127.0.0.1
port: 27017
database: blog
三、代碼中使用Mongo
1.Mongo適用場景
(1)可用于動態(tài)列;
(2)可用于配置方面(如一些系統(tǒng)配置);
(3)日志記錄;
(4)用于博客開發(fā)中的評論或留言;
(5)物聯(lián)網(wǎng)方面的門鎖相關信息存儲;
(6)探頭;
上面六個場景是我之前開發(fā)使用過的。
當然了,Mongo還可以應用更多地方,關鍵在于應用的場景是否合適。
2.以我最近博客開發(fā)的一個聯(lián)系我為例(這里我使用Mongo)
(1)建立數(shù)據(jù)模型(需要在Mongo對應的庫,建立對應的集合)
package com.springcloud.blog.admin.mongo.entity;
import com.springcloud.blog.admin.common.base.BaseDTO;
import org.springframework.data.mongodb.core.mapping.Document;
import org.springframework.data.mongodb.core.mapping.Field;
/**
* 聯(lián)系我-數(shù)據(jù)模型
*/
@Document(collection = "contact_me")
public class ContactMe extends BaseDTO {
@Field
private String name;
@Field
private String email;
@Field
private String content;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public String getContent() {
return content;
}
public void setContent(String content) {
this.content = content;
}
}
(2)數(shù)據(jù)訪問層
package com.springcloud.blog.admin.mongo.dao;
import com.springcloud.blog.admin.mongo.entity.ContactMe;
import org.springframework.data.mongodb.repository.MongoRepository;
/**
* 聯(lián)系我-持久層
*/
public interface ContactMeRepository extends MongoRepository<ContactMe, String> {
}
(3)對外API
package com.springcloud.blog.admin.mongo.controller;
import com.alibaba.fastjson.JSONObject;
import com.springcloud.blog.admin.common.dict.ResponseDict;
import com.springcloud.blog.admin.mongo.dao.ContactMeRepository;
import com.springcloud.blog.admin.mongo.entity.ContactMe;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
/**
* 聯(lián)系我(Mongo Example)
*/
@RestController
@RequestMapping("/contactMe")
public class ContactMeController {
@Autowired
private ContactMeRepository contactMeRepository;
@PostMapping("/save")
public JSONObject save(@RequestBody ContactMe contactMe) {
JSONObject jsonObject = new JSONObject();
contactMeRepository.save(contactMe);
jsonObject.put(ResponseDict.RESPONSE_CODE_KEY, ResponseDict.RESPONSE_SUCCESS_CODE);
jsonObject.put(ResponseDict.RESPONSE_MSG_KEY, ResponseDict.RESPONSE_SUCCESS_MSG);
return jsonObject;
}
@PostMapping("/delete")
public JSONObject delete(@RequestBody ContactMe contactMe) {
JSONObject jsonObject = new JSONObject();
contactMeRepository.delete(contactMe);
jsonObject.put(ResponseDict.RESPONSE_CODE_KEY, ResponseDict.RESPONSE_SUCCESS_CODE);
jsonObject.put(ResponseDict.RESPONSE_MSG_KEY, ResponseDict.RESPONSE_SUCCESS_MSG);
return jsonObject;
}
@PostMapping("/update")
public JSONObject update(@RequestBody ContactMe contactMe) {
JSONObject jsonObject = new JSONObject();
contactMeRepository.save(contactMe);
jsonObject.put(ResponseDict.RESPONSE_CODE_KEY, ResponseDict.RESPONSE_SUCCESS_CODE);
jsonObject.put(ResponseDict.RESPONSE_MSG_KEY, ResponseDict.RESPONSE_SUCCESS_MSG);
return jsonObject;
}
@PostMapping("/getAll")
public JSONObject getAll() {
JSONObject jsonObject = new JSONObject();
List<ContactMe> list = contactMeRepository.findAll();
jsonObject.put(ResponseDict.RESPONSE_CODE_KEY, ResponseDict.RESPONSE_SUCCESS_CODE);
jsonObject.put(ResponseDict.RESPONSE_MSG_KEY, ResponseDict.RESPONSE_SUCCESS_MSG);
jsonObject.put(ResponseDict.RESPONSE_DATA_KEY, list);
return jsonObject;
}
}
簡單的說就是一個非常簡單的增刪改查,可幫助入門。
同時一般情況下,還是需要業(yè)務邏輯層的,一方面為了復用考慮,另外一方面不同的業(yè)務辦不同的事情。
以上就是SpringBoot整合MongoDB的實現(xiàn)代碼的詳細內(nèi)容,更多關于SpringBoot整合MongoDB的資料請關注腳本之家其它相關文章!
相關文章
Spring boot redis cache的key的使用方法
這篇文章主要介紹了Spring boot redis cache的key的使用方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2019-05-05
Kafka中的producer攔截器與consumer攔截器詳解
這篇文章主要介紹了Kafka中的producer攔截器與consumer攔截器詳解,Producer 的Interceptor使得用戶在消息發(fā)送前以及Producer回調(diào)邏輯前有機會對消息做 一些定制化需求,比如修改消息等,需要的朋友可以參考下2023-12-12
基于Mybatis Plus實現(xiàn)代碼生成器CodeGenerator
這篇文章主要介紹了基于Mybatis Plus實現(xiàn)代碼生成器CodeGenerator,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2020-08-08

