一、概述
PageHelper是MyBatis中非常方便的第三方分页插件。
官方文档:
https://github.com/pagehelper/Mybatis-PageHelper/blob/master/README_zh.md
HowToUse:
https://github.com/pagehelper/Mybatis-PageHelper/blob/master/wikis/en/HowToUse.md
我们可以对照官方文档的说明,快速的使用插件。
二、PageHelper的简单使用
一、导入PageHelper的相关包。
<!--引入pagehelper分页插件-->
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper</artifactId>
<version>5.0.0</version>
</dependency>
二、在MyBatis全局配置文件中配置分页插件
<configuration>
<settings>
<!--开启驼峰命名-->
<setting name="mapUnderscoreToCamelCase" value="true"/>
<setting name="jdbcTypeForNull" value="NULL"/>
<!--开启SQL日志-->
<setting name="logImpl" value="STDOUT_LOGGING" />
<!-- 开启二级缓存 -->
<setting name="cacheEnabled" value="true"/>
</settings>
<!--mybatis分页插件-->
<plugins>
<plugin interceptor="com.github.pagehelper.PageInterceptor">
<!-- 使用下面的方式配置参数,后面会有所有的参数介绍 -->
<!--<property name="param1" value="value1"/>-->
</plugin>
</plugins>
<databaseIdProvider type="DB_VENDOR">
<property name="MySQL" value="mysql"/>
<property name="Oracle" value="oracle"/>
</databaseIdProvider>
</configuration>
三、使用PageHelper提供的方法进行分页
PageHelper.startPage(2, 5);
四、使用更强大的PageInfo封装返回结果
@org.junit.Test
public void getList() throws IOException {
PageHelper.startPage(2, 2);
List<Employee> employee = employeeMapper.selectAll();
for (Employee e: employee) {
System.out.println(e);
}
PageInfo<Employee> info = new PageInfo<>(employee);
System.out.println("当前页码:"+info.getPageNum());
System.out.println("总记录数:"+info.getTotal());
System.out.println("每页的记录数:"+info.getPageSize());
System.out.println("总页码:"+info.getPages());
System.out.println("是否第一页:"+info.isIsFirstPage());
}