MyBatis使用PageHelper分页

配置

添加maven依赖

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

在mybatis配置文件中添加配置

在标签environments前面加入

<!--    PageHelper-->
    <plugins>
        <plugin interceptor="com.github.pagehelper.PageInterceptor" />
    </plugins>

使用示例

mybatis-mapper配置文件中的sql语句

    <select id="selectAll" resultType="BookOrder">
        select * from t_book
    </select>

使用:

调用 PageHelper.startPage(?, ?); 可对紧跟其后的第一个MyBatis查询方法进行自动的分页操作
PageInfo 对分页的详情信息进行封装

官方的示例代码

//获取第1页,10条内容,默认查询总数count
PageHelper.startPage(1, 10);
List<User> list = userMapper.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());

其他配置

plugin 标签中
分页参数合理化,默认位false

不管请求访问多少页,总会在 最大页和最小页 之间

  <property name="reasonable" value="true"/>
posted @ 2021-10-17 15:30  yangruomao  阅读(310)  评论(0编辑  收藏  举报