概述
调用mybatis-plus service中的增删改,其返回值类型是boolean,调用成功返回的是true,调用不成功返回的是false,所以凡是涉及到增删改判断,需要向前端返回数据的,均可增删改判断返回数据参考,查的判断特殊一些,但也可参考
业务逻辑介绍
其实在写增删改的时候,有的时候是会涉及到一些业务逻辑的,比如说你在增加的时候,可能会需要写入数据创建时间,那么在save的时候就应该把时间写入,再save,还有一些需要初始化的字段都应该在增删改中初始化或判断,比如在删除三级分类的时候,在不知道其是否有下级分类的时候,就应该先查询一下,如果有下级分类,就应该返回一个提示给前端,没有下级分类在删除
在做增删查改测试的时候,建议按查、增、改、删来做,因为查可以得出数据,增改删,稍作调整,发送一下数据就可以测了
增删改查数据返回
顺带提一句的是,其实调用iTbBrandService的增删查改方法,实际上是调用baseMapper的增删查改方法,只不过iTbBrandService对baseMapper进行了封装,在选择用哪个的时候,根据业务需求,来选择把,选能最大满足业务需求的实现
@RequestMapping("/logicDelete")
public Result logicDelete(int id){
if (iTbBrandService.removeById(id)){
return new Result("1","删除成功");
}else {
return new Result("2","删除失败");
}
}
//分页返回brand对象
@RequestMapping("/findBrandPage")
public Result findBrandPage(@RequestBody TbBrand tbBrand, Integer currentPage, Integer size){
if (currentPage==null||size==null){
return new Result("0","error");
}
QueryWrapper<TbBrand> queryWrapper = new QueryWrapper<>();
queryWrapper.select("first_char","COUNT(*)").groupBy("first_char").having("count(*)>{0}",2);
IPage<TbBrand> iPage = iTbBrandService.page(new Page<>(currentPage,size),queryWrapper);
return new Result("1","good",new PageResult(iPage.getTotal(),iPage.getRecords()));
}
//增加
@RequestMapping("/saveBrand")
public Result saveBrand(@RequestBody TbBrand tbBrand){
//iTbBrandService.save(tbBrand);
if (iTbBrandService.save(tbBrand)){
return new Result("1","保存成功");
}else {
return new Result("2","保存失败");
}
}
//findOneById
@RequestMapping("/findOneById")
public Result findOneById(int id){
QueryWrapper<TbBrand> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("id",id);
List<TbBrand> tbBrandlist = iTbBrandService.list(queryWrapper);
if (tbBrandlist!=null&&tbBrandlist.size()>0){
return new Result("1","查询成功",tbBrandlist);
}else {
return new Result("2","查询失败");
}
}
//修改
@RequestMapping("/updateBrand")
public Result updateBrand(@RequestBody TbBrand tbBrand){
//修改逻辑是,先查询,那么你应该先给我一个id,
if (iTbBrandService.updateById(tbBrand)){
return new Result("1","更新成功");
}else {
return new Result("2","更新失败");
}
}
看到相同点和不同点了嘛?
补充一点,对于增加来说,mybatis-plus,当数据写入为0的时候也会返回true,业务上要求要为1时才算写入成功,那么,可以在iTbBrandServiceImpl中调用baseMappe重写save方法,判断为>0,返回写入成功即可