分页组件PageHelper+mybaits-plus的使用

分页组件PageHelper+mybaits-plus的使用

分页方法千千万,可以做成动态sql,也有许多分页组件可以使用(Page,PgaeHelper)。
这里简单列举个例子,记录下PageHelper+mybatis-plus的用法。

1.准备工作-pom依赖

        <!--分页插件-->
        <dependency>
            <groupId>com.github.pagehelper</groupId>
            <artifactId>pagehelper-spring-boot-starter</artifactId>
            <version>1.2.12</version>
        </dependency>

2.对象必须定义分页参数

    /**
     * 当前页,需要查询的页数
     * pageNo从1开始
     */
    @JsonInclude(JsonInclude.Include.NON_NULL)
    @TableField(exist=false)
    private Integer pageNo;

    /**
     * 每页显示的条数
     */
    @JsonInclude(JsonInclude.Include.NON_NULL)
    @TableField(exist=false)
    private Integer pageSize;

3.执行代码

    @BaseBeforeAnnotation
    @RequestMapping("selectList")
    public BaseResponse selectList(@RequestBody BookChargeModel model){
        //判断是否需要用到分页
        if(!StringUtils.isEmpty(model.getPageNo())){
            PageHelper.startPage(model.getPageNo(),model.getPageSize());
        }
        //mybatis-plus拼接动态sql
        QueryWrapper<BookChargeModel> queryWrapper = new QueryWrapper<BookChargeModel>();
        if(!StringUtils.isEmpty(model.getBookType())){
            queryWrapper.lambda().eq(BookChargeModel::getBookType,model.getBookType());
        }
        if(!StringUtils.isEmpty(model.getFeeType())){
            queryWrapper.lambda().eq(BookChargeModel::getFeeType,model.getFeeType());
        }
        //列表查询
        List<BookChargeModel> result = bookChargeService.list(queryWrapper);
        //获取result分页信息
        PageInfo pageInfo = new PageInfo(result);
        return new BaseResponse(ResultEnum.SUCCESS,Integer.valueOf(String.valueOf(pageInfo.getTotal())), pageInfo.getList());
    }

需要注意的是:
当传了分页参数(pageNo,pageSize)后执行list查询时,会默认查询符合条件的总数,然后再执行分页查询;
没有传分页参数,是直接执行list查询。
在这里插入图片描述

在这里插入图片描述

4.执行结果

结果一:传了分页参数
在这里插入图片描述

结果二:没有传分页参数
在这里插入图片描述

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值