PageHelper插件使用

1.pom.xml引入依赖

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

2.mybatis-config.xml配置分页插件

在 MyBatis 的配置文件中添加 PageHelper 的插件:

<plugins>
    <plugin interceptor="com.github.pagehelper.PageInterceptor">
        <property name="helperDialect" value="mysql"/>
    </plugin>
</plugins>

注意:
com.github.pagehelper.PageInterceptor 是 PageHelper 插件的名称,helperDialect 属性用于指定数据库类型(支持多种数据库)

3.分页插件使用

在查询方法中使用分页:

@Test
@Test
public void testPage(){
    SqlSession sqlSession = sqlSessionUtil.getSqlSession();
    EmpMapper mapper = sqlSession.getMapper( EmpMapper.class);
    //TODO:注意不能将两条及以上查询语句加到分页区
    //查诲功能之前开启分页功能
    Page<object> page = PageHelper.startPage( pageNum: 1,pageSize: 4);
    List<Emp> list = mapper.selectByExample(nu1l);
    //查询功能之后可以获取分页相关的所有数据
    PageInfo<Emp> pageInfo = new PageInfo<>(list, navigatePages: 5);
    list.forEach(System.out::println);
    System.out.println("总记录数:" + pageInfo.getTotal());
    System.out.println("总页数:" + pageInfo.getPages());
    System.out.println("当前页码:" + pageInfo.getPageNum());
    System.out.println("每页显示的记录数:" + pageInfo.getPageSize());
    System.out.println(pageInfo);
}

4.分页相关数据描述

PageInfo{

pageNum=8, pageSize=4, size=2, startRow=29, endRow=30, total=30, pages=8,

list=Page{count=true, pageNum=8, pageSize=4, startRow=28, endRow=32, total=30,pages=8, reasonable=false, pageSizeZero=false},

prePage=7,  上一页

nextPage=0,  下一页

isFirstPage=false,  是否是第一页

isLastPage=true,  是否是最后一页

hasPreviousPage=true,  是否有上一页

hasNextPage=false,  是否有下一页

navigatePages=5,   导航分页的页码数

navigateFirstPage=4,  导航分页的首位页码

navigateLastPage=8,   导航分页的末尾页码

navigatepageNums=[4, 5, 6, 7, 8]  导航分页的页码

}

常用数据:

pageNum:当前页的页码

pageSize:每页显示的条数

size:当前页显示的真实条数

total:总记录数

pages:总页数

prePage:上一页的页码

nextPage:下一页的页码

isFirstPage/isLastPage:是否为第一页/最后一页

hasPreviousPage/hasNextPage:是否存在上一页/下一页

navigatePages:导航分页的页码数

navigatepageNums:导航分页的页码,[1,2,3,4,5]

热门相关:最牛兵王   重开地狱   惊艳人生   盛华   资本大唐