继上篇的MongoDB安装与简单操作后,今天用SpringBoot整合了一下MongoDB,实现了简单的CRUD
然后工具是IDEA,SpringBoot用的是2.0.0版本 看下依赖吧
Demo结构:
yml配置:本地是没有设置用户名密码这些所以就没有配置了
之前弄了一些数据在test集合里面
OKOK 不多说了开始上代码
package com.dream.mogodb.service.impl;
import com.dream.mogodb.pojo.Stus;
import com.dream.mogodb.service.StusService;
import com.mongodb.client.result.DeleteResult;
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.Service;
import java.util.List;
/**
* MongoDB 集合的CRUD实现
* @Author 超人不会飞
* @Create 2019/6/27
*/
@Service
public class StusServiceImpl implements StusService {
@Autowired
private MongoTemplate mongoTemplate;
@Override
public void saveStus(Stus stus) {
//添加的实现
mongoTemplate.save(stus);
}
@Override
public Stus findStusByName(String name) {
//查询的实现
Query query = new Query(Criteria.where("name").is(name));
return mongoTemplate.findOne(query,Stus.class);
}
@Override
public List<Stus> findStus() {
//查询所有
return mongoTemplate.findAll(Stus.class);
}
@Override
public void updateStus(Stus stus) {
//修改的实现 先查找后修改
Query query = new Query(Criteria.where("_id").is(stus.get_id()));
Update update = new Update().set("name",stus.getName()).set("age",stus.getAge());
//修改返回结果集第一条
mongoTemplate.updateFirst(query, update, Stus.class);
}
@Override
public void deleteStus(String id) {
//删除的实现 根据id删除 先查找后删除
Query query = new Query(Criteria.where("_id").is(id));
DeleteResult remove = mongoTemplate.remove(query, Stus.class);
System.out.println(remove.getDeletedCount());
}
}
package com.dream.mogodb.comtroller;
import com.dream.mogodb.pojo.Stus;
import com.dream.mogodb.service.StusService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
/**
*
* @Author 超人不会飞
* @Create 2019/6/27
*/
@RestController
public class StusController {
@Autowired
private StusService stusService;
/**
* 添加学生
* @return
*/
@RequestMapping("/addStus")
public void addStus(){
Stus stus = new Stus("hello","老牛",35,"男");
stusService.saveStus(stus);
}
/**
* 按照姓名查询
* @return
*/
@RequestMapping("/getStus/{name}")
public Object getStus(@PathVariable String name){
return stusService.findStusByName(name);
}
/**
* 查看所有学员
* @return
*/
@RequestMapping("/getAll")
public List<Stus> getStusAll(){
return stusService.findStus();
}
/**
* 修改学生信息
* @return
*/
@RequestMapping("/updataStus")
public void updataStus(){
Stus stus = new Stus();
stus.set_id("hello");
stus.setName("牛魔王");
stus.setAge(30);
stusService.updateStus(stus);
}
/**
* 删除学生信息
* @return
*/
@RequestMapping("/deleteStus")
public void deleteStus(){
stusService.deleteStus("hello");
}
}
具体代码就在这里啦,写完写完就到测试成果的时候了,测一把
--添加
--条件查询
--查询全部
--修改
--删除
华丽小分割线,后面附上Demo,MongoDB 提取码: t5tr