springboot 集成 mybatis plus 在controller层实现的增删改查用法,以及spring boot 常用注解

注意事项:

//注意: 当使用参数@requestBody的时候,只支持post请求,所以只能用 @PostMapping ,当@requestBody里面的可以为空时候,设置required=false,
//注意: StringUtils用org.springframework.util的可以判断StringUtils.isEmpty(Object),用common下面的只能字符串
//注意: 当我们在参数传参时候,尽量用对象封装参数,例如TeacherQuery传参,然后用json格式接收, @RequestBody TeacherQuery teacherQuery,因为传速速度快,解析也快
//注意: @ApiParam(name="current",value = "当前页", required = true,说明current,limit必填

注意使用的几个注解:

rest 风格注解:

@getMapping  查询 ,/// 分页查询 由于参数有对象 @requestBody  所以 用@PostMapping

@postMapping 添加 

@putMapping  修改

@deleteMapping 删除

参数注解:@RequestBody,@PathVariable,@requestParam

其中@requestParam注解需要强调下,如果参数是list或者数组

 @RequestParam("videoIdList") List videoIdList  
前台需要这样调用,“1,2,3” 默认会转型成list

// 获取用户信息方法
export function getInfo(token) {
  return request({
    url: '/eduservice/user/info',
    method: 'get',
    params:{"list":"1,2,3"}
  })
}

 

swagger注解: @api(tags="") @apiOperation @aipParam @apiModelProperty

q  

 

1:controller层查询的写法

@ApiOperation("根据id查询讲师信息")
@GetMapping("findTeacher/{id}")
public R find(@ApiParam(name="id",value = "讲师id",required = true) @PathVariable String id){
    EduTeacher byId = eduTeacherService.getById(id);
    return R.ok().data("teacher",byId);
}

2::controller层新增方法,(这块新增时候创建时间和修改时间是 默认填充的 @TableField(fill = FieldFill.INSERT_UPDATE)和@TableField(fill = FieldFill.INSERT),配置默认填充插件)

@ApiOperation("新增讲师接口")
@PostMapping("addTeacher")
public R save(@RequestBody EduTeacher eduTeacher){
    // 新增的数据不用添加创建时间和修改时间,id也不用加
    boolean save = eduTeacherService.save(eduTeacher);
    if (save){
        return R.ok();
    }
    return R.error();
}

3:controller层修改的方法,(这块修改时间是默认填充的 @TableField(fill = FieldFill.INSERT_UPDATE),并且配置了乐观锁version,@version,配置乐观锁插件;并且先查询在修改才能更新版本号)

@ApiOperation("修改讲师信息接口")
@PostMapping("updateTeacher")
public R update(@RequestBody EduTeacher eduTeacher){
    EduTeacher byId = eduTeacherService.getById(eduTeacher.getId());
    eduTeacher.setVersion(byId.getVersion());
    // 新增的数据不用添加创建时间和修改时间,id必须加上
    boolean b = eduTeacherService.updateById(eduTeacher);
    if (b){
        return R.ok();
    }
    return R.error();
}

 

4:controller层删除的方法,(这个删除是配置的逻辑删除,@TableLogic,在配置中配置了逻辑删除插件)

@ApiOperation("根据id逻辑删除讲师信息")
@DeleteMapping("deleteById/{ids}")
public R deleteById(
        @ApiParam(name="ids" ,value = "讲师id",required = true)
        @PathVariable String ids){
    boolean b = eduTeacherService.removeById(ids);
    if(b){
        return R.ok();
    }
    return R.error();
}

 

你可能感兴趣的:(idea,java,spring,boot,rest)