本文是根据PageHelper官网所总结出来,详情可以去查看此官网。
怎么使用
1.安装
项目中使用maven直接在pom.xml文件中添加如下依赖即可。(这里只介绍maven的使用,如果需要其他方式请访问PageHelper官网)
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper</artifactId>
<version>x.x.x</version>
</dependency>
2.配置PageHelper
在mybatis-config.xml中使用
<!--
In the configuration file,
plugins location must meet the requirements as the following order:
properties?, settings?,
typeAliases?, typeHandlers?,
objectFactory?,objectWrapperFactory?,
plugins?,
environments?, databaseIdProvider?, mappers?
-->
<plugins>
<plugin interceptor="com.github.pagehelper.PageInterceptor">
<!-- config params as the following -->
<property name="param1" value="value1"/>
</plugin>
</plugins>
使用PageHelper插件时可以使用一些工具类
我的工具类如下:
import com.github.pagehelper.Page;
import com.github.pagehelper.PageHelper;
import org.apache.commons.lang3.StringUtils;
public class PageUtil {
public static <E> Page<E> setPage(int pageNum, int pageSize, String orderByCondition, String countKey, Boolean isCount){
Page<E> page=PageHelper.startPage(pageNum, pageSize, isCount);
if(StringUtils.isNotBlank(orderByCondition)){
page.setOrderBy(orderByCondition);
}
if(StringUtils.isNotBlank(countKey)){
page.setCountColumn(countKey);
}
return page;
}
/**
* count()关键字按默认
* @param pageNum
* @param pageSize
* @param orderByCondition
* @param <E>
* @return
*/
public static <E> Page<E> setPage(int pageNum, int pageSize, String orderByCondition){
return setPage(pageNum, pageSize, orderByCondition, true);
}
/**
* 原sql已经包含了condition条件了,不在分页组件里处理
* @param pageNum
* @param pageSize
* @param <E>
* @return
*/
public static <E> Page<E> setPage(int pageNum, int pageSize){
return setPage(pageNum, pageSize, null, true);
}
/**
* 可选count查询
* @param pageNum
* @param pageSize
* @param orderByCondition
* @param isCount
* @return
*/
public static <E> Page<E> setPage(int pageNum, int pageSize, String orderByCondition, Boolean isCount){
return setPage(pageNum, pageSize, orderByCondition, null, isCount);
}
}
使用示例: