SpringBoot整合MongoDB的實現代碼
MongoDB官網安裝: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三、代碼中使用Mongo1.Mongo適用場景
(1)可用于動態列;(2)可用于配置方面(如一些系統配置);(3)日志記錄;(4)用于博客開發中的評論或留言;(5)物聯網方面的門鎖相關信息存儲;(6)探頭;
上面六個場景是我之前開發使用過的。
當然了,Mongo還可以應用更多地方,關鍵在于應用的場景是否合適。
2.以我最近博客開發的一個聯系我為例(這里我使用Mongo)(1)建立數據模型(需要在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;/** * 聯系我-數據模型 */@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)數據訪問層
package com.springcloud.blog.admin.mongo.dao;import com.springcloud.blog.admin.mongo.entity.ContactMe;import org.springframework.data.mongodb.repository.MongoRepository;/** * 聯系我-持久層 */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;/** * 聯系我(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; }}
簡單的說就是一個非常簡單的增刪改查,可幫助入門。同時一般情況下,還是需要業務邏輯層的,一方面為了復用考慮,另外一方面不同的業務辦不同的事情。
以上就是SpringBoot整合MongoDB的實現代碼的詳細內容,更多關于SpringBoot整合MongoDB的資料請關注好吧啦網其它相關文章!
相關文章: