跳到主要内容

分页插件

注意

推荐用法看下一篇文档

1.添加核心依赖

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

2.配置分页插件

在mybatis的配置文件中加入

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

image-20231108114029479

3.分页插件的使用

  • 在查询功能之前使用PageHelper.startPage(int pageNum, int pageSize)开启分页功能
    • pageNum当前页的页码
    • pageSize每页显示的条数
  • 查询获取list集合之后,使用PageInfo<T> of(List<? extends T> list)静态方法快速获取分页相关的数据
    • list分页之后的数据
@Test
public void test2() throws Exception {
InputStream inputStream = Resources.getResourceAsStream("mybatis-config.xml");
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
SqlSession sqlSession = sqlSessionFactory.openSession();
UserMapper mapper = sqlSession.getMapper(UserMapper.class);


PageHelper.startPage(1, 3);
List<User> users = mapper.selectAllUser();
PageInfo<User> page = PageInfo.of(users);

System.out.println("当前页:" + page.getPageNum());
System.out.println("每页显示的条数:" + page.getPageSize());
System.out.println("总记录数:" + page.getTotal());
System.out.println("总页数:" + page.getPages());
System.out.println("是否存在下一页:" + page.isHasNextPage());
System.out.println("是否存在上一页:" + page.isHasPreviousPage());
System.out.println("真实数据:");
users.forEach(System.out::println);
}

image-20231108115551782