Day8.MongoDB學習筆記3
阿新 • • 發佈:2018-12-27
一、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,"刪除成功");
}
}