林夕司雨
2021-10-25 23:26
采纳率: 33.3%
浏览 53

求,实现后端分页条件查询时遇到问题

今天跟着视频做项目遇到一个问题,实在解决不了了,求,使用post传入数据,但通过传入JSON数据在swagger中测试时出现一些问题,为什么进行模糊查询时(响应状态都是success),但有情况会显示出模糊查询的数据,而有的情况不能。

//这是主体业务方法
//4 条件查询带分页的方法
    @ApiOperation(value = "实现条件的分页查询")
    @PostMapping("pageTeacherCondition/{current}/{limit}")
    public R pageTeacherCondition(
            @ApiParam(name = "current",value = "当前页码",required = true)
            @PathVariable long current,
            @ApiParam(name = "limit",value = "每页显示记录数",required = true)
            @PathVariable long limit,
            @ApiParam(name = "teacherQuery",value = "条件(模糊)查询实例",required = false)
            @RequestBody(required = false) TeacherQuery teacherQuery){
        //创建page对象
        Page<EduTeacher> pageTeacher=new Page<>(current,limit);
        //构建条件
        QueryWrapper<EduTeacher> wrapper = new QueryWrapper<>();
        //多条件组合查询
        String name = teacherQuery.getName();
        Integer level = teacherQuery.getLevel();
        String begin = teacherQuery.getBegin();
        String end = teacherQuery.getEnd();
        //判断条件值是否为空,如果不为空拼接条件
        if (StringUtils.hasText(name)){
            //构建条件
            wrapper.like("name", name);
        }
        if (StringUtils.hasText(String.valueOf(level))){
            wrapper.eq("level", level);
        }
        if (StringUtils.hasText(begin)){
            wrapper.ge("gmt_create", begin);
        }
        if (StringUtils.hasText(end)){
            wrapper.le("gmt_modified", end);
        }
        //调用方法实现条件查询分页
        teacherService.page(pageTeacher, wrapper);
        long total = pageTeacher.getTotal();
        List<EduTeacher> records = pageTeacher.getRecords();
        return R.ok().data("total",total).data("rows", records);
    }

//这是主要的实体类
@Data
@NoArgsConstructor
@AllArgsConstructor
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@ApiModel(value="EduTeacher对象", description="讲师")
public class EduTeacher implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "讲师ID")
    @TableId(value = "id", type = IdType.ID_WORKER_STR)
    private String id;

    @ApiModelProperty(value = "讲师姓名")
    private String name;

    @ApiModelProperty(value = "讲师简介")
    private String intro;

    @ApiModelProperty(value = "讲师资历,一句话说明讲师")
    private String career;

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

    @ApiModelProperty(value = "讲师头像")
    private String avatar;

    @ApiModelProperty(value = "排序")
    private Integer sort;

    @ApiModelProperty(value = "逻辑删除 1(true)已删除, 0(false)未删除")
    @TableLogic //
    private Boolean isDeleted;

    @ApiModelProperty(value = "创建时间")
    @TableField(fill = FieldFill.INSERT)
    private Date gmtCreate;

    @ApiModelProperty(value = "更新时间")
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private Date gmtModified;


}
//vo实体类,也就是要输入的模糊查询内容
@Data
@NoArgsConstructor
@AllArgsConstructor
public class TeacherQuery {
    @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;
}

先看一下成功的情况,数据库内容先不展示了,也就是只模糊查询level 或者level和name进行组合模糊查询

img

img

img

img

看一下获取不到数据的情况,就是只进行分页查询,或者只进行name的分页查询

img

img


控制台都是成功的就是没有数据,咋回事啊

img

img

  • 写回答
  • 好问题 提建议
  • 追加酬金
  • 关注问题
  • 邀请回答

3条回答 默认 最新

相关推荐 更多相似问题