目录

第一步:maven导入包

第二步: 配置拦截器插件

第三步:使用

 第1种:Pagehelper.startPage+Page+RowBounds

 第2种:Pagehelper.startPage+PageInfo

 

插件Pagehelper的地址如何使用分页插件

第一步:maven导入包

分页插件Pagehelper_Mybatis

maven的POM文件导入依赖包 

<dependency>
    <groupId>com.github.pagehelper</groupId>
    <artifactId>pagehelper</artifactId>
    <version>5.1.2</version>
</dependency>

 

第二步: 配置拦截器插件

分页插件Pagehelper_分页_02

在mybatis的核心配合xml文件中配置拦截器插件

<plugins>
        <!-- com.github.pagehelper为PageHelper类所在包名 -->
        <plugin interceptor="com.github.pagehelper.PageInterceptor">
            <!-- 使用下面的方式配置参数,后面会有所有的参数介绍 -->
            <property name="param1" value="value1"/>
        </plugin>
</plugins>

 

第三步:使用

 第1种:Pagehelper.startPage+Page+RowBounds

不会使用RowBounds的可以看着篇Mybatis分页之RowBounds

 dao层和sqlxml

分页插件Pagehelper_Mybatis_03

PageUtil工具类代码

package com.lingaolu.utils;

import org.apache.ibatis.session.RowBounds;

/**
 * @author 林高禄
 * @create 2020-10-26-9:17
 */
public class PageUtil {
    public PageUtil() {
    }

    public static RowBounds getPageParam(Integer pageNum, Integer pageSize) {
        if (pageNum == null || pageNum < 1) {
            pageNum = 1;
        }

        if (pageSize == null || pageSize < 1) {
            pageSize = 10;
        }

        return new RowBounds((pageNum - 1) * pageSize, pageSize);
    }

    public static int getPageNum(Integer pageNum) {
        if (pageNum == null || pageNum < 1) {
            pageNum = 0;
        }

        return pageNum;
    }

    public static int getPageSize(Integer pageSize) {
        if (pageSize == null || pageSize < 1) {
            pageSize = 10;
        }

        return pageSize;
    }
}

 

测试代码

 

分页插件Pagehelper_Mybatis_04

我这里没有使用Pagehelper.startPage,所以虽然分页出来了,但是总是total为-1,要想总数正确,还得调用Pagehelper.startPage 

 第2种:Pagehelper.startPage+PageInfo

分页插件Pagehelper_插件_05

 

分页插件Pagehelper_Pagehelper_06

 dao层和sqlxml

分页插件Pagehelper_Mybatis_07

分页插件Pagehelper_分页_08