首页 > 其他分享 >通过VO对象来接受前端的分页查询的条件

通过VO对象来接受前端的分页查询的条件

时间:2022-11-18 17:48:31浏览次数:59  
标签:queryWrapper String name 10 value 查询 VO 分页

问题:当进行带条件的分页查询的时候,前端传过来的条件可能有很多,比如id,name,age等等,该如何方便的接收参数呢?

:我们可以通过把参数封装一个到VO对象里面

创建一个VO类

@ApiModel(value = "Teacher查询对象", description = "讲师查询对象封装")
@Data
public class TeacherQuery implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "教师名称,模糊查询")
    private String name;

    @ApiModelProperty(value = "头衔 1高级讲师 2首席讲师")
    private Integer level;

    @ApiModelProperty(value = "查询开始时间", example = "2019-01-01 10:10:10")
    private String begin;//注意,这里使用的是String类型,前端传过来的数据无需进行类型转换

    @ApiModelProperty(value = "查询结束时间", example = "2019-12-01 10:10:10")
    private String end;
}

在Controller上通过@Requestbody Vo vo的方式接收数据

//讲师的分页条件查询
    @ApiOperation(value = "讲师的带条件分页查询")
    @GetMapping("/pageTeacherCondition/{current}/{limit}")
    public R pageTeacherCondition(@PathVariable long current, @PathVariable long limit,
                                  @RequestBody TeacherQuery teacherQuery) {
        Page<EduTeacher> teacherPage = new Page<>(current, limit);
        QueryWrapper<EduTeacher> queryWrapper = new QueryWrapper<>();
        //条件
        String name = teacherQuery.getName();
        Integer level = teacherQuery.getLevel();
        String begin = teacherQuery.getBegin();
        String end = teacherQuery.getEnd();
        //判断条件是否为空
        if (!StringUtils.isEmpty(name)) {
            queryWrapper.like("name", name);
        }
        if (!StringUtils.isEmpty(level)) {
            queryWrapper.eq("level", level);
        }
        if (!StringUtils.isEmpty(begin)) {
            queryWrapper.ge("gmt_create", begin);
        }
        if (!StringUtils.isEmpty(end)) {
            queryWrapper.le("gmt_create", end);
        }

        //执行查询
        eduTeacherService.page(teacherPage, queryWrapper);

        return R.ok().data("total", teacherPage.getTotal()).data("rows", teacherPage.getRecords());

    }

标签:queryWrapper,String,name,10,value,查询,VO,分页
From: https://www.cnblogs.com/blog-zyx/p/16904013.html

相关文章