欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

SpringBoot整合MongoDB的实现代码

程序员文章站 2022-06-18 10:28:59
mongodb官网安装:mongodb客户端工具(mongo management studio)安装:一、添加maven依赖

mongodb官网安装:

mongodb客户端工具(mongo management studio)安装:

一、添加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)可用于动态列;
(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的资料请关注其它相关文章!

相关标签: SpringBoot MongoDB