最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

SpringBoot整合MongoDB的實現(xiàn)代碼

 更新時間:2021年05月25日 14:39:41   作者:youcong  
自己本科時候一直使用的是Mysql,目前的課題組使用的是MongoDB,因此就花了一部分時間整理了一下,實現(xiàn)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)代碼的詳細內容,更多關于SpringBoot整合MongoDB的資料請關注腳本之家其它相關文章!

相關文章

  • Java實現(xiàn)4種微信搶紅包算法(小結)

    Java實現(xiàn)4種微信搶紅包算法(小結)

    微信紅包是大家經常使用的,到現(xiàn)在為止仍然有很多紅包開發(fā)的需求,實現(xiàn)搶紅包算法也是面試??碱},本文就詳細的來介紹一下如何實現(xiàn),感興趣的可以了解一下
    2021-12-12
  • 解決@Value注解不能注入static修飾的屬性問題

    解決@Value注解不能注入static修飾的屬性問題

    這篇文章主要介紹了解決@Value注解不能注入static修飾的屬性問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-07-07
  • Quartz集群原理以及配置應用的方法詳解

    Quartz集群原理以及配置應用的方法詳解

    Quartz是Java領域最著名的開源任務調度工具。Quartz提供了極為廣泛的特性如持久化任務,集群和分布式任務等,下面這篇文章主要給大家介紹了關于Quartz集群原理以及配置應用的相關資料,需要的朋友可以參考下
    2018-05-05
  • Java?Swing實現(xiàn)掃雷源碼

    Java?Swing實現(xiàn)掃雷源碼

    這篇文章主要為大家詳細介紹了Java?Swing實現(xiàn)掃雷源碼,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-06-06
  • 關于java連接池/線程池/內存池/進程池等匯總分析

    關于java連接池/線程池/內存池/進程池等匯總分析

    這篇文章主要介紹了關于java連接池/線程池/內存池/進程池等匯總分析,本文將介紹池技術的由來、原理、優(yōu)缺點以及常見的池技術類型,需要的朋友可以參考下
    2023-04-04
  • spring boot創(chuàng)建項目包依賴問題的解決

    spring boot創(chuàng)建項目包依賴問題的解決

    本篇文章主要介紹了spring boot創(chuàng)建項目包依賴問題的解決,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-11-11
  • SpringWebMVC的常用注解及應用分層架構詳解

    SpringWebMVC的常用注解及應用分層架構詳解

    這篇文章主要介紹了SpringWebMVC的常用注解及應用分層架構,SpringWebMVC是基于ServletAPI構建的原始Web框架,從?開始就包含在Spring框架中,感興趣的朋友可以參考下
    2024-05-05
  • IDEA巧用Postfix Completion讓碼速起飛(小技巧)

    IDEA巧用Postfix Completion讓碼速起飛(小技巧)

    這篇文章主要介紹了IDEA巧用Postfix Completion讓碼速起飛,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-08-08
  • Idea中Java項目如何修改項目名

    Idea中Java項目如何修改項目名

    這篇文章主要介紹了Idea中Java項目如何修改項目名問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-06-06
  • java公眾平臺通用接口工具類HttpConnectUtil實例代碼

    java公眾平臺通用接口工具類HttpConnectUtil實例代碼

    下面小編就為大家分享一篇java公眾平臺通用接口工具類HttpConnectUtil實例代碼,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-01-01

最新評論

棋牌| 根河市| 郁南县| 岳池县| 贵阳市| 西乡县| 襄樊市| 吉安市| 固始县| 太白县| 伊吾县| 淮北市| 阿拉尔市| 正安县| 肥东县| 罗田县| 突泉县| 清水县| 库伦旗| 慈溪市| 太保市| 湘乡市| 方正县| 依兰县| 司法| 吉木萨尔县| 新巴尔虎右旗| 墨江| 峨边| 元江| 富川| 黄龙县| 辽源市| 怀宁县| 内江市| 连州市| 商丘市| 山东省| 长汀县| 阿拉善右旗| 新丰县|