谷粒-讲师后台

 

1.在educonfig配置类下面,配置分页插件bean(可配置在公共模块里边?)

/**
* 分页插件
*/
@Bean
public PaginationInterceptor paginationInterceptor() {
return new PaginationInterceptor();
}
pageTeacher对象

 步骤

//分析:前端要传的参数,当前页,每页几条数据
    //2.这里不需要实体类,路径带值自动解析
    @ApiOperation(value="条件分页查询")
    @GetMapping("pageTeacher/{current}/{limit}")
    public R pageTeacher(
            @ApiParam(name="current", value="当前页")
            @PathVariable long current,
            @ApiParam(name="limit", value="每页条数")
            @PathVariable long limit){
        //1.创建page对象
        Page<EduTeacher> pageTeacher = new Page<>(current,limit);
        //2.调用分页方法实现分页,分页数据封装到pageTeacher对象中
        teacherService.page(pageTeacher,null);
        //数据集合
        List<EduTeacher> records = pageTeacher.getRecords();
        //总记录数
        long total = pageTeacher.getTotal();
        return R.ok().data("total",total).data("records",records);

多条件组合查询分页

1.创建对应的多条件实体类

1.@ApiModelProperty(value = "开始时间",example = "2019-01-01 10:10:10")实体类注解example在swagger中显示
@Data
public class teacherQuery {
    @ApiModelProperty(value="名称")
    private  String name;

    @ApiModelProperty(value="级别")
    private  String level;

    @ApiModelProperty(value = "开始时间",example = "2019-01-01 10:10:10")
    private String  beginTime;

    @ApiModelProperty(value = "结束时间")
    private String endTime;
}

2.参数传递

 3.当用

@RequestBody(required = false)

传递时,作为json对象传递(wrapper的学习),参数值可以为空

//根据条件查询分页
    @ApiOperation("多条件组合查询")
    @PostMapping("PageTeacherCondition/{current}/{limit}")
    public R PageTeacherCondition(@PathVariable long current,
                                  @PathVariable long limit,
                                  @RequestBody TeacherQuery teacherQuery){
        //1.创建分页对象
        Page<EduTeacher> pageTeacher = new Page<>(current,limit);
        //创建条件对象
        QueryWrapper<EduTeacher> queryWrapper = new QueryWrapper<>();
        //动态sql写条件
        String name  = teacherQuery.getName();
        String level  = teacherQuery.getLevel();
        String beginTime  = teacherQuery.getBeginTime();
        String endTime  = teacherQuery.getEndTime();

        //判断值是否为空
        if(!StringUtils.isEmpty(name)){
            //添加条件,数据库的属性名
            queryWrapper.like("name",name);
        }
        if(!StringUtils.isEmpty(level)){
            //添加条件,数据库的属性名
            queryWrapper.eq("level",level);
        }
        if(!StringUtils.isEmpty(beginTime)){
            //添加条件,数据库的属性名
            queryWrapper.ge("gmt_create",beginTime);
        }
        if(!StringUtils.isEmpty(endTime)){
            //添加条件,数据库的属性名
            queryWrapper.le("gmt_modified",endTime);
        }
        //排序
        queryWrapper.orderByDesc("gmt_create");
        //2.调用方法,将分页数据封装到pageTeacher中,实现条件查询
        teacherService.page(pageTeacher,queryWrapper);
        //从对象中得到数据
       List<EduTeacher> records = pageTeacher.getRecords();
       long total = pageTeacher.getTotal();
       //将值加入map中
        HashMap map = new HashMap();
        map.put("total",total);
        map.put("records",records);
        return R.ok().data(map);
    }

添加功能,

在service_base中,自动添加时间,注意唯一的属性值

@Component
public class MyMetaObjectHandler implements MetaObjectHandler {
 @Override
 public void insertFill(MetaObject metaObject) {
 this.setFieldValByName("gmtCreate", new Date(), metaObject);
 this.setFieldValByName("gmtModified", new Date(), metaObject);
 }
 @Override
 public void updateFill(MetaObject metaObject) {
 this.setFieldValByName("gmtModified", new Date(), metaObject);
 }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值