MyBatis可以使用第三方的插件来对功能进行扩展,分页助手PageHelper是将分页的复杂操作进行封装,使用简单的方式即可获得分页的相关数据
开发步骤:
①导入通用PageHelper的坐标
②在mybatis核心配置文件中配置PageHelper插件
③测试分页数据获取
导入通用PageHelper坐标
<!-- 分页助手-->
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper</artifactId>
<version>3.7.5</version>
</dependency>
<dependency>
<groupId>com.github.jsqlparser</groupId>
<artifactId>jsqlparser</artifactId>
<version>0.9.1</version>
</dependency>
在mybatis核心配置文件中配置PageHelper插件
<!--分页助手插件-->
<plugins>
<plugin interceptor="com.github.pagehelper.PageHelper">
<!-- 指定方言-->
<property name="dialect" value="mysql"/>
</plugin>
</plugins>
测试
// 测试分页
@Test
public void test3() throws IOException {
// 设置分页参数
PageHelper.startPage(2, 2);
InputStream inputStream = Resources.getResourceAsStream("sqlMapConfig.xml");
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
SqlSession sqlSession = sqlSessionFactory.openSession(true);
UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
List<UserBir> list = userMapper.findAll();
for (UserBir user : list) {
System.out.println(user);
}
// 获得分页相关参数
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());
System.out.println("是否第一页:" + pageInfo.isIsFirstPage());
System.out.println("是否最后一页:" + pageInfo.isIsLastPage());
sqlSession.close();
}
获得分页相关的参数
PageInfo pageInfo = new PageInfo(list);
总条数:pageInfo.getTotal()
总页数:pageInfo.getPages()
当前页:pageInfo.getPageNum()
每页显示长度:pageInfo.getPageSize()
是否第一页:pageInfo.isIsFirstPage()
是否最后一页:pageInfo.isIsLastPage()