spingboot整合 pagehelper分页插件

pagehelper分页插件


前言

在springboot中,如果我们依赖了mybatis-plus的启动器 ,就可以不用在引入pagehelper的依赖了


一、使用步骤

1 . 添加依赖

 <!--mybatis-plus依赖-->
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-boot-starter</artifactId>
            <version>3.1.0</version>
        </dependency>

2 . 分页拦截器

springboot 通过配置类去替代

/**
 * 分页插件配置类
 */
@Configuration
public class PageHelperConfiguration {

    /**
     * 创建分页插件拦截器对象
     */
    @Bean
    public PaginationInterceptor paginationInterceptor(){
        return new PaginationInterceptor();
    }

}

3 . 简短代码实现

  • 参数 page : 当前页数 rows : 当前页的数据大小
    IPage 这里用于封装分页前的参数
    IPage iPage = new Page<>(page,rows);
  • IPage: 这里的IPage封装分页后的结果
    iPage = brandMapper.selectPage(iPage,queryWrapper);
    public PageResult<Brand> brandPageQuery(Integer page, Integer rows, String key, String sortBy, Boolean desc) {
        //1.封装条件
        //1.1 IPage: 这里用于封装分页前的参数
        IPage<Brand> iPage = new Page<>(page,rows);

        //1.2 QueryWrapper: 用于封装查询条件(也可以排序)
        QueryWrapper<Brand> queryWrapper = Wrappers.query(); //待会自己往QueryWrapper存入条件

        //处理key
        if(StringUtils.isNotEmpty(key)){
            //sql: where name like '%H%' or letter = 'H'
            /**
             * 参数一:字段名称
             * 注意:like方法的value已经包含%xxx%
             */
            queryWrapper
                    .like("name",key)
                    .or()
                    .eq("letter",key.toUpperCase());
        }

        //处理排序
        if (StringUtils.isNotEmpty(sortBy)) {
            if(desc){
                //降序
                queryWrapper.orderByDesc(sortBy);
            }else{
                //升序
                queryWrapper.orderByAsc(sortBy);
            }
        }


        //2.执行查询,获取结果
        //IPage: 这里的IPage封装分页后的结果
        iPage = brandMapper.selectPage(iPage,queryWrapper);

        //3.处理并返回结果
        //3.1 封装PageResult
        PageResult<Brand> pageResult = new PageResult<>(iPage.getTotal(),iPage.getPages(),iPage.getRecords());
        //3.2 返回
        return pageResult;
    }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

GotBy

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值