一、SpringDataMongoDB
SpringData家族成员之一,用于操作MongoDB的持久层框架,封装了底层的mongodb-driver
- 导入依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-mongodb</artifactId>
</dependency>
- 创建.yml 和 创建启动类
- dao
public interface SpitDao extends MongoRepository<Spit,String> {
}
- service
@Service
@Transactional
public class SpitService {//因为是微服务,所以就直接接口和实现写在一起了,利用架构解耦就可以了
@Autowired
private SpitDao spitDao;
@Autowired
private IdWorker idWorker;
public List<Spit> findAll(){
return spitDao.findAll();
}
public Spit finfById(String id){
//springboot2.0.1 下data jpa的findOne版本限制。
return spitDao.findById(id).get();
}
public void save(Spit spit){
spit.set_id(idWorker.nextId()+"");
spitDao.save(spit);
}
public void update(Spit spit){
spitDao.save(spit);
}
public void deleteById(String id){
spitDao.deleteById(id);
}
}
- controller
@RestController
@CrossOrigin //跨域
@RequestMapping("/spit")
public class SpitController {
@Autowired
private SpitService spitService;
@RequestMapping(method= RequestMethod.GET)
public Result findAll(){
return new Result(true, StatusCode.OK,"查询成功",spitService.findAll());
}
@RequestMapping(value = "/{spitId}",method = RequestMethod.GET)
public Result findById(@PathVariable String spitId){
return new Result(true,StatusCode.OK,"查询成功",spitService.finfById(spitId));
}
@RequestMapping(method= RequestMethod.GET)
public Result save(@RequestBody Spit spit){
spitService.save(spit);
return new Result(true,StatusCode.OK,"保存成功");
}
@RequestMapping(value = "/{spitId}", method= RequestMethod.PUT)
public Result update(@PathVariable String spitId,@RequestBody Spit spit){
spit.set_id(spitId);
spitService.update(spit);
return new Result(true,StatusCode.OK,"修改成功");
}
@RequestMapping(value = "/{spitId}",method= RequestMethod.DELETE)
public Result delete(@PathVariable String spitId){
spitService.deleteById(spitId);
return new Result(true,StatusCode.OK,"删除成功");
}
}