特别提示:本人博客部分有参考网络其他博客,但均是本人亲手编写过并验证通过。如发现博客有错误,请及时提出以免误导其他人,谢谢!欢迎转载,但记得标明文章出处:http://www.cnblogs.com/mao2080/

1、添加依赖

        <dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-mongodb</artifactId>
</dependency>

2、Java代码

  a、控制层

 package com.mao2080.mongodb;

 import com.mao2080.beans.User;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.mongodb.core.MongoTemplate;
import org.springframework.data.mongodb.core.query.Criteria;
import org.springframework.data.mongodb.core.query.Query;
import org.springframework.data.mongodb.core.query.Update;
import org.springframework.web.bind.annotation.*; import javax.servlet.http.HttpServletResponse;
import java.util.List; @RestController
@RequestMapping("/mongodbController")
public class MongodbController { @Autowired
private MongoTemplate mongoTemplate; /**表名*/
private static final String collectionName = "user"; /**
* 描述:新增
* @author maochengyuan
* @created 2018/9/1 20:17
* @param user
* @return ResultObject
*/
@RequestMapping(value = "/insert", method = RequestMethod.POST)
@ResponseBody
public ResultObject insert(@ModelAttribute User user) throws Exception {
this.mongoTemplate.insert(user);
return new ResultObject(HttpServletResponse.SC_OK);
} /**
* 描述:删除
* @author maochengyuan
* @created 2018/9/1 20:17
* @param userId
* @return ResultObject
*/
@RequestMapping("/delete")
@ResponseBody
public ResultObject delete(@RequestParam("userId") String userId) throws Exception {
Query query = Query.query(Criteria.where("userId").is(userId));
this.mongoTemplate.remove(query, collectionName);
return new ResultObject(HttpServletResponse.SC_OK);
} /**
* 描述:修改
* @author maochengyuan
* @created 2018/9/1 20:17
* @param user
* @return ResultObject
*/
@RequestMapping(value = "/update", method = RequestMethod.POST)
@ResponseBody
public ResultObject update(@ModelAttribute User user) throws Exception {
Query query = Query.query(Criteria.where("userId").is(user.getUserId()));
Update update = new Update();
update.set("age", user.getAge());
update.set("name", user.getName());
update.set("email", user.getEmail());
this.mongoTemplate.updateFirst(query, update, collectionName);
return new ResultObject(HttpServletResponse.SC_OK);
} /**
* 描述:查询
* @author maochengyuan
* @created 2018/9/1 20:17
* @param
* @return ResultObject
*/
@RequestMapping("/query")
@ResponseBody
public ResultObject query() throws Exception {
Query query = Query.query(Criteria.where("dataStatus").is(1));
List<User> users = this.mongoTemplate.find(query, User.class);
return new ResultObject(HttpServletResponse.SC_OK, users);
} }

  b、实体类

 package com.mao2080.beans;

 import org.springframework.data.mongodb.core.mapping.Document;

 import java.util.Date;

 @Document(collection="user")
public class User { private String userId; private String name; private String uclass; private String email; private Date birthday; private int age; private int dataStatus; public User() {
} public String getName() {
return name;
} public void setName(String name) {
this.name = name;
} public String getUserId() {
return userId;
} public void setUserId(String userId) {
this.userId = userId;
} public String getUclass() {
return uclass;
} public void setUclass(String uclass) {
this.uclass = uclass;
} public String getEmail() {
return email;
} public void setEmail(String email) {
this.email = email;
} public Date getBirthday() {
return birthday;
} public void setBirthday(Date birthday) {
this.birthday = birthday;
} public int getAge() {
return age;
} public void setAge(int age) {
this.age = age;
} public int getDataStatus() {
return dataStatus;
} public void setDataStatus(int dataStatus) {
this.dataStatus = dataStatus;
}
}

c、配置文件(application.properties)

 spring.data.mongodb.host=127.0.0.1
spring.data.mongodb.port=27000
spring.data.mongodb.database=mao2080

3、操作过程

  注意使用postman来模拟POST请求。

  1、新增URL:http://localhost:8080/mongodbController/insert?userId=015&name=Back&uclass=B&email=b12@sina.com&age=11&dataStatus=1

  2、删除URL:http://localhost:8080/mongodbController/delete?userId=015

  3、修改URL:http://localhost:8080/mongodbController/update?userId=014&name=Back&uclass=B&email=b12@sina.com&age=18&dataStatus=2

  4、查询URL:http://localhost:8080/mongodbController/query

4、代码下载

  mongodb-demo.zip

5、参考网站

  https://blog.csdn.net/mazhen1991/article/details/78161784

Springboot集成MongoDB实现CRUD的更多相关文章

  1. springboot连接mongodb进行CRUD

    springboot连接mongodb进行CRUD的过程: 在执行以下操作前已安装了mongodb并创建了用户和数据库,使用Robo 3T可成功连接. 1.创建springboot项目,加入以下mav ...

  2. springboot集成mongoDB 异常认证

    1.springboot连接mongoDB 出现异常认证 异常详情: com.mongodb.MongoSecurityException: Exception authenticating Mong ...

  3. 实例讲解Springboot整合MongoDB进行CRUD操作的两种方式

    1 简介 Springboot是最简单的使用Spring的方式,而MongoDB是最流行的NoSQL数据库.两者在分布式.微服务架构中使用率极高,本文将用实例介绍如何在Springboot中整合Mon ...

  4. SpringBoot集成MongoDB之导入导出和模板下载

    前言 自己很对自己在项目中集成MongoDb做的导入导出以及模板下载的方法总结如下,有不到之处敬请批评指正! 1.pom.xml依赖引入 <!-- excel导入导出 --> <de ...

  5. SpringBoot集成MongoDB

    前言 之前写了各种nosql数据库的比较,以及相关理论,现在我在本地以springboot+MongoDB框架,探究了具体的运行流程,下面总结一下,分享给大家. 运行前准备 安装并启动MongoDB应 ...

  6. springboot 集成mongodb

    环境依赖 在pom文件引入spring-boot-starter-data-mongodb依赖: <dependency> <groupId>org.springframewo ...

  7. springboot集成mongoDB简易使用

    1.首先是添加Spring Data mongo的配置依赖 <dependency> <groupId>org.springframework.boot</groupId ...

  8. SpringBoot 集成mongodb(1)单数据源配置

    新项目要用到mongodb,于是在个人电脑上的虚拟环境linux上安装了下mongodb,练习熟悉下. 1.虚拟机上启动mongodb. 首先查看虚拟机ip地址,忘了哈~~ 命令行>ifconf ...

  9. springboot集成mongoDB需要认证

    报错: Mon Nov 25 01:09:48 CST 2019 There was an unexpected error (type=Internal Server Error, status=5 ...

随机推荐

  1. Linux--环境变量配置文件

    Linux系统中环境变量配置文件分为两类: 全局环境变量配置文件 /etc/profile 用户环境变量配置文件 ~/.bash_profile . ~/.bash_login ~/.profile ...

  2. Golang新开发者要注意的陷阱和常见错误

    转自:http://colobu.com/2015/09/07/gotchas-and-common-mistakes-in-go-golang/ 目录 [−] 初级 开大括号不能放在单独的一行 未使 ...

  3. 第九章· MySQL的备份和恢复

    一.备份的原因 运维工作的核心简单概括就两件事: 1)第一个是保护公司的数据. 2)第二个是让网站能7*24小时提供服务(用户体验).  备份的原因 1)备份就是为了恢复. 2)尽量减少数据的丢失( ...

  4. JMeter 问题整理

    1. 远程连接出现错误: java.net.connectexception: connection refused: connect -解决办法: 编辑jmeter.bat(windows OS), ...

  5. UVa540 Team Queue(队列queue)

    队列 STL队列定义在头文件<queue>中, 用“ queue<int>s ” 方式定义, 用push()和pop()进行元素的入队和出队操作, front()取队首元素(但 ...

  6. 理论基础+实战控制台程序实现AutoFac注入

    [半小时大话.net依赖注入](一)理论基础+实战控制台程序实现AutoFac注入   系列目录# 第一章|理论基础+实战控制台程序实现AutoFac注入 第二章|AutoFac的常见使用套路 第三章 ...

  7. docker安装rocketmq

    一.单机部署 1.拉取镜像:foxiswho/rocketmq:server  cabel/rocketmq:broker styletang/rocketmq-console-ng 2.创建目录:d ...

  8. php类知识---try catch

    <?php try { echo "比赛开始"."\n"; ); } catch (Exception $e ) { echo "获取错误信息: ...

  9. tornado框架自定义中间件过程中的一些基础技术(1)

    为了检查当前请求是否在用户的权限列表中,我们需要获取uri(也就是当前链接),下列代码说明了获取的过程,也证明了python魔术方法的重要性class testHandler(RequestHandl ...

  10. 【WinForm-TreeView】实现Win7 Areo效果

    效果图: 新建一个继承自TreeView的控件类,代码如下: using System; using System.Windows.Forms; using System.Drawing; using ...