版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
Springboot整合MongodB的时候,出现了一些了小问题,今天准备发篇博客,来温习一下.Mongodb,在上一篇中,我讲了Mongodb的安装,今天我们来讲讲
如何实现CRUD,写的不错的话,记得点关注哦 !
一、在idea中搭建环境
新建项目
选择需要的依赖进行选择性的加入
添加依赖
pom.xml
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-mongodb</artifactId>
</dependency>
实体类
package com.example.spirit.demo.model;
import org.springframework.data.mongodb.core.mapping.Document;
@Data
@Document(collection = "passenger")
public class Mongo {
private Integer id;
private Integer age;
private String name;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
Dao层
package com.example.spirit.dao;
import com.example.spirit.model.Mongo;
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.stereotype.Component;
@Component
public class MongoDao {
@Autowired
private MongoTemplate mongoTemplate;
/**
* 创建对象
*/
public void saveTest(Mongo mongod) {
mongoTemplate.save(test);
}
/**
* 根据用户名查询对象
* @return
*/
public Mongo findTestByName(String name) {
Query query=new Query(Criteria.where("name").is(name));
MongoTest mgt = mongoTemplate.findOne(query , Mongo.class);
return mgt;
}
/**
* 更新对象
*/
public void updateTest(Mongo test) {
Query query=new Query(Criteria.where("id").is(test.getId()));
Update update= new Update().set("age", test.getAge()).set("name", test.getName());
//更新查询返回结果集的第一条
mongoTemplate.updateFirst(query,update,Mongo.class);
//更新查询返回结果集的所有
// mongoTemplate.updateMulti(query,update,TestEntity.class);
}
/**
* 删除对象
* @param id
- */
. public void deleteTestById(Integer id) {
Query query=new Query(Criteria.where("id").is(id));
mongoTemplate.remove(query,Mongo.class);
}
}
此处我用的是本地安装的mongodb,所以没有用户名和密码
applition.yml
spring:
data:
mongodb:
uri: mongodb://localhost:27017/test
``
Controller
```java
package com.example.spiritmark.controller;
import com.example.spiritmark.dao.MongoDao;
import com.example.spiritmark.model.Mongo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class MongoController{
@Autowired
private MongotDao mtdao;
@GetMapping(value="/test1")
public void saveTest() throws Exception {
Mongo mgtest=new Mongo();
mgtest.setId(11);
mgtest.setAge(33);
mgtest.setName("ceshi");
mtdao.saveTest(mgtest);
}
@GetMapping(value="/test2")
public Mongo findTestByName(){
Mongo mgtest= mtdao.findTestByName("ceshi");
System.out.println("mgtest is "+mgtest);
return mgtest;
}
@GetMapping(value="/test3")
public void updateTest(){
Mongo mgtest=new Mongo ();
mgtest.setId(11);
mgtest.setAge(44);
mgtest.setName("ceshi2");
mtdao.updateTest(mgtest);
}
@GetMapping(value="/test4")
public void deleteTestById(){
mtdao.deleteTestById(11);
}
}
发送CRUD请求后在mongo库中生成了对应的集合