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:
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非官方教程 | 第八篇:springboot整合mongodb
转载请标明出处: 原文首发于:https://www.fangzhipeng.com/springboot/2017/07/11/springboot8-mongodb/ 本文出自方志朋的博客 这篇文 ...
- 实例讲解Springboot整合MongoDB进行CRUD操作的两种方式
1 简介 Springboot是最简单的使用Spring的方式,而MongoDB是最流行的NoSQL数据库.两者在分布式.微服务架构中使用率极高,本文将用实例介绍如何在Springboot中整合Mon ...
- Springboot整合MongoDB(Eclipse版本)
IDEA版本其实也差不多的,大同小异 简单Demo地址: https://blog.csdn.net/shirukai/article/details/82152243 Springboot项目整合M ...
- java操作mongodb & springboot整合mongodb
简单的研究原生API操作MongoDB以及封装的工具类操作,最后也会研究整合spring之后作为dao层的完整的操作. 1.原生的API操作 pom.xml <!-- https://mvnre ...
- SpringBoot整合mongoDB
MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的. 这一片文章介绍一个springboot整合mongodb,如果你了解整合mysql之类的 ...
- springboot 学习之路 14(整合mongodb的Api操作)
springboot整合mongodb: mongodb的安装和权限配置 请点击连接参考 mongodb集成 : 第一步:引如pom文件 第二步:配置文件配置mongodb路径: 第三步:关于mon ...
- SpringBoot 整合mongoDB并自定义连接池
SpringBoot 整合mongoDB并自定义连接池 得力于SpringBoot的特性,整合mongoDB是很容易的,我们整合mongoDB的目的就是想用它给我们提供的mongoTemplate,它 ...
- Springboot整合MongoDB的Docker开发,其它应用也类似
1 前言 Docker是容器开发的事实标准,而Springboot是Java微服务常用框架,二者必然是会走到一起的.本文将讲解如何开发Springboot项目,把它做成Docker镜像,并运行起来. ...
- 8、SpringBoot整合之SpringBoot整合MongoDB
SpringBoot整合MongoDB 一.创建项目,选择依赖 仅选择Spring Web.Spring Data MongoDB即可 二.引入相关依赖(非必要) 这里只是为了实体类的创建方便而引入l ...
随机推荐
- linux uniq 命令实用手册
Linux uniq 命令用于处理文本内容中的重复行. 这里我们只介绍其常用参数,其完整用法可参见man uniq. 例如,我们有如下文件内容: >>> cat log.txt __ ...
- 解决 docker.io 上拉取 images Get https://registry-1.docker.io/v2/: net/http: TLS handshake timeout
处理方式 使用如下命令获取 registry-1.docker.io 可用的 ip dig @114.114.114.114 registry-1.docker.io 看到如下输出结果 ; <& ...
- OpenCV学习(1)——初步接触
一.介绍OpenCV OpenCV的全称是Open Source Computer Vision Library,是一个跨平台的计算机视觉库.OpenCV是由英特尔公司发起并参与开 ...
- centos7源码安装Apache及Tomcat
源码安装Apache (1) 一.通过 https://apr.apache.org/ 下载 APR 和 APR-util 通过 http://httpd.apache.org/download.c ...
- Android xUtils3.0使用手册(二) - 数据库操作
步骤: (1). 创建数据表: (2). DaoConfig 获取数据库的配置信息: (3). 获取数据库实例: x.getDb(daoConfig); (4). 数据库的增删改查. 1. 创建 ...
- js 实现淘宝无缝轮播图效果,可更改配置参数 带完整版解析代码[slider.js]
前言: 本人纯小白一个,有很多地方理解的没有各位大牛那么透彻,如有错误,请各位大牛指出斧正!小弟感激不尽. 本篇文章为您分析一下原生JS写淘宝无缝轮播图效果 需求分析: ...
- flask学习笔记(二)
一.视图函数的传参方式 修改前: 目标: 传参方式改成 途径: 通过request获取参数 注意:args并不是地点类型,而是dict的一个子类,如图: immutable意思是不可变 不可变的字典转 ...
- vSphere可用性之三准备实验环境
第三章 准备实验环境 在上篇内容中,讲述了进行VMware HA实验所必需的软硬件条件.接下来将使用这些来搭建实验环境.主要内容为依据拓扑图安装ESX主机系统.ISCSI存储系统. 此次实验环境的建置 ...
- POJ3614防晒霜 这个贪心有点东西(贪心+优先队列)
这个题是说有C头牛去晒太阳,带了L瓶防晒霜,每瓶防晒霜都有一个SPF值(每瓶防晒霜都能解决一个最短路 ) 每头牛给出了他可以接受防晒霜的上限,和下限,每种防晒霜都给出了SPF值与数量. 从防晒霜的sp ...
- docker 安装centos7并SSH远程连接
1.安装centos7 镜像 1.搜索并拉取centos镜像(默认最新镜像) docker search centos docker pull centos 2.建立本机对应docker-centos ...