Springboot集成MongoDB实现CRUD
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、代码下载
5、参考网站
Springboot集成MongoDB实现CRUD的更多相关文章
- springboot连接mongodb进行CRUD
springboot连接mongodb进行CRUD的过程: 在执行以下操作前已安装了mongodb并创建了用户和数据库,使用Robo 3T可成功连接. 1.创建springboot项目,加入以下mav ...
- springboot集成mongoDB 异常认证
1.springboot连接mongoDB 出现异常认证 异常详情: com.mongodb.MongoSecurityException: Exception authenticating Mong ...
- 实例讲解Springboot整合MongoDB进行CRUD操作的两种方式
1 简介 Springboot是最简单的使用Spring的方式,而MongoDB是最流行的NoSQL数据库.两者在分布式.微服务架构中使用率极高,本文将用实例介绍如何在Springboot中整合Mon ...
- SpringBoot集成MongoDB之导入导出和模板下载
前言 自己很对自己在项目中集成MongoDb做的导入导出以及模板下载的方法总结如下,有不到之处敬请批评指正! 1.pom.xml依赖引入 <!-- excel导入导出 --> <de ...
- SpringBoot集成MongoDB
前言 之前写了各种nosql数据库的比较,以及相关理论,现在我在本地以springboot+MongoDB框架,探究了具体的运行流程,下面总结一下,分享给大家. 运行前准备 安装并启动MongoDB应 ...
- springboot 集成mongodb
环境依赖 在pom文件引入spring-boot-starter-data-mongodb依赖: <dependency> <groupId>org.springframewo ...
- springboot集成mongoDB简易使用
1.首先是添加Spring Data mongo的配置依赖 <dependency> <groupId>org.springframework.boot</groupId ...
- SpringBoot 集成mongodb(1)单数据源配置
新项目要用到mongodb,于是在个人电脑上的虚拟环境linux上安装了下mongodb,练习熟悉下. 1.虚拟机上启动mongodb. 首先查看虚拟机ip地址,忘了哈~~ 命令行>ifconf ...
- springboot集成mongoDB需要认证
报错: Mon Nov 25 01:09:48 CST 2019 There was an unexpected error (type=Internal Server Error, status=5 ...
随机推荐
- Facebook团队合影
今晚公司年会,晚上有些人不去,我晚上要带孩子,也不去,大家就说那我们中午照个合照吧.没啥子准备,大家都一副油腻的样子.除了要去party的化了妆.
- DDOS攻击脚本
import sysimport osimport timeimport socketimport random#Code Timefrom datetime import datetimenow = ...
- Arduino Nano与SIM800C 通信
首先感谢 原文作者:https://blog.csdn.net/weixin_44481398/article/details/86596933#commentBox 找了好久没有找到,使用他的代码一 ...
- Spring中常用的设计模式之:代理模式
看了tom老师讲的深入分析spring源码,讲的挺好,做个小总结 代理模式的定义: 为其他对象提供一种代理以控制对这个对象的访问.在某些情况下,一个对象不适合或者不能直接引用另一个对象,而代理对象可以 ...
- js小功能3:一个简单的计算器功能
html: <input type='text' id='txt1' /> <select id='select'> <option value='+'>+< ...
- ubuntu python3.5升级3.6后打不开终端的解决办法
ubuntu python3.5升级3.6后打不开终端了. 解决办法如下: 1.Ctrl+Alt+F1进入命令行终端,我的电脑按Ctrl+Alt+F1没反应,按住Ctrl+Alt然后从F1到F5一个个 ...
- YII2中controller中的behaviors中的behavior内部是如何被使用的?
1. behaviors方法的调用: 在祖先对象components中有一个ensureBehaviors方法,代码如下: /** * Makes sure that the behaviors de ...
- Mybatis Plus 使用详解
Mybatis Plus 是Mybatis的增强插件,对数据库操作Mybatis Plus提供了抽象层次比Mybatis更高的操作方法. Wrapper是Mybatis Plus里拼接sql的包装类. ...
- odoo 关系字段(关联关系)
Many-to-one关联 publisher_id = fields.Many2one(comodel_name= 'res.partner', domain='',context={},ondel ...
- How to mount remote Windows shares
Contents Required packages Basic method Better Method Even-better method Yet Another Even-better m ...