MyBatis整合分页插件PageHelper的使用和说明

        MyBatis,作为目前流行的ORM框架,大大方便了日常开发。而对于分页查询,虽然可以通过SQL的limit语句实现,但是比较繁琐。而MyBatis PageHelper的出现,则解决了这一痛点。这里将介绍如何在Spring Boot、MyBatis的环境中通过MyBatis PageHelper高效方便的实现分页查询

 添加Maven依赖



    com.github.pagehelper
    pagehelper-spring-boot-starter
    1.2.5

 添加配置

在application.properties配置文件中添加MyBatis PageHelper的配置项

# PageHelper 分页插件配置
pagehelper.helperDialect=mysql
pagehelper.reasonable=true
pagehelper.supportMethodsArguments=true
pagehelper.params=count=countSql

分页查询

        通过 MyBatis PageHelper 进行分页查询实际上非常简单,只需在service(或mapper)方法执行查询前,调用一次 PageHelper.startPage(pageNum,pageSize) 来设置分页查询参数即可,其中pageNum 为记录页数,pageSize 为单页记录数量。此时service(或mapper)方法的查询结果就是分页后的结果了。如果期望获得相关的分页信息,还可以将查询结果封装到PageInfo对象中,以获得总页数、总记录数、当前页数等相关分页信息

        现在通过一个实际示例,来具体演示操作,这里我们提供了一个分页查询的interface实现类

/**
     * QueryPageBean:存放currentPage、pageSize、queryString属性的对象
     * currentPage:页码
     * pageSize:每页记录数
     * queryString:查询条件
     * CheckItem:存放一条数据的所有属性的对象
     * PageResult:total、rows属性的对象
     * total:总记录数
     * rows:当前页结果
     */
    @Override
    public PageResult findPage(QueryPageBean queryPageBean) {
        //使用PageHelper
        //1设置分页条件
        PageHelper.startPage(queryPageBean.getCurrentPage(),queryPageBean.getPageSize());
        //2.正常查询
        List checkItemList = checkItemMapper.findPage(queryPageBean);
        //3.获取分页信息
        PageInfo checkItemPageInfo = new PageInfo<>(checkItemList);
        return new PageResult(checkItemPageInfo.getTotal(),checkItemPageInfo.getList());
    }

参数说明 

startPage

//第一个参数表示从第几页开始
//第二个参数表示一页多少条记录
//第三个参数表示是否返回总的真实记录数
PageHelper.startPage(currentPage,pageSize,true);

PageInfo

//创建一个PageInfo对象,将Page对象作为参数传入
//getTotal()方法获取总记录数
//getList方法获取分页查询结果的数据列表,即符合当前分页条件的数据集合

你可能感兴趣的:(mybatis,java,spring,boot)