【分页插件】分页插件PageHelper的配置和使用

目录

1.Mybatis分页插件 - PageHelper说明

2.使用方法

3.分页测试


1.Mybatis分页插件 - PageHelper说明

如果你也在用Mybatis,建议尝试该分页插件,这个一定是最方便使用的分页插件。

该插件目前支持Oracle,Mysql,MariaDB,SQLite,Hsqldb,PostgreSQL六种数据库分页。

2.使用方法

第一步:把PageHelper依赖的jar包添加到工程中。官方提供的代码对逆向工程支持的不好,使用参考资料中的pagehelper-fix。

 

第二步:在Mybatis配置xml中配置拦截器插件:

<plugins>

    

    <plugin interceptor="com.github.pagehelper.PageHelper">

                

        <property name="dialect" value="mysql"/>

    plugin>

plugins>

第二步:在代码中使用

1、设置分页信息:

    //获取第1页,10条内容,默认查询总数count

    PageHelper.startPage(1, 10);

 

    //紧跟着的第一个select方法会被分页

List<Country> list = countryMapper.selectIf(1);

2、取分页信息

//分页,实际返回的结果list类型是Page,如果想取出分页信息,需要强制转换为Page

Page<Country> listCountry = (Page<Country>)list;

listCountry.getTotal();

3、取分页信息的第二种方法

//获取第1页,10条内容,默认查询总数count

PageHelper.startPage(1, 10);

List<Country> list = countryMapper.selectAll();

//用PageInfo对结果进行包装

PageInfo page = new PageInfo(list);

//测试PageInfo全部属性

//PageInfo包含了非常全面的分页属性

assertEquals(1, page.getPageNum());

assertEquals(10, page.getPageSize());

assertEquals(1, page.getStartRow());

assertEquals(10, page.getEndRow());

assertEquals(183, page.getTotal());

assertEquals(19, page.getPages());

assertEquals(1, page.getFirstPage());

assertEquals(8, page.getLastPage());

assertEquals(true, page.isFirstPage());

assertEquals(false, page.isLastPage());

assertEquals(false, page.isHasPreviousPage());

assertEquals(true, page.isHasNextPage());

3.分页测试

@Test

public void testPageHelper() throws Exception {

//初始化spring容器

ApplicationContext applicationContext = new ClassPathXmlApplicationContext("classpath:spring/applicationContext-*.xml");

//获得Mapper的代理对象

TbItemMapper itemMapper = applicationContext.getBean(TbItemMapper.class);

//设置分页信息

PageHelper.startPage(1, 30);

//执行查询

TbItemExample example = new TbItemExample();

List list = itemMapper.selectByExample(example);

//取分页信息

PageInfo pageInfo = new PageInfo<>(list);

System.out.println(pageInfo.getTotal());

System.out.println(pageInfo.getPages());

System.out.println(pageInfo.getPageNum());

System.out.println(pageInfo.getPageSize());

}

你可能感兴趣的:(【分页插件】分页插件PageHelper的配置和使用)