一、PageHelper
PageHelper是国内非常优秀的一款开源的mybatis分页插件,它支持基本主流与常用的数据库,例如 mysql、oracle、mariaDB、DB2等。
PageHelper官网
二、PageHelper分页封装类
1. Page
public class Page<E> extends ArrayList<E> implements Closeable {
private static final long serialVersionUID = 1L;
private int pageNum;
private int pageSize;
private long startRow;
private long endRow;
private long total;
private int pages;
private boolean count;
private Boolean reasonable;
private Boolean pageSizeZero;
private String countColumn;
private String orderBy;
private boolean orderByOnly;
private BoundSqlInterceptor boundSqlInterceptor;
private transient Chain chain;
private String dialectClass;
}
2. PageInfo
public class PageInfo<T> extends PageSerializable<T> {
public static final int DEFAULT_NAVIGATE_PAGES = 8;
public static final PageInfo EMPTY = new PageInfo(Collections.emptyList(), 0);
// 当前页
private int pageNum;
// 每页的数量
private int pageSize;
// 当前页实际的数量
private int size;
// 当前页开始的条数(数据库中总数的第几条)
private long startRow;
// 当前页最后的条数(数据库中总数的第几条)
private long endRow;
// 总页数
private int pages;
// 上一页
private int prePage;
// 下一页
private int nextPage;
// 是否是第一页
private boolean isFirstPage;
// 是否是最后一页
private boolean isLastPage;
// 是否有上一页
private boolean hasPreviousPage;
// 是否有下一页
private boolean hasNextPage;
// 导航页码个数
private int navigatePages;
// 导航页码数
private int[] navigatepageNums;
// 导航页码的第一页页码数
private int navigateFirstPage;
// 导航页码的最后一页页码数
private int navigateLastPage;
}
三、PageHelper使用方法
-
第一种:
@Test void testGetAllUsersByLimit() { // 开启分页查询,制定分页规则 PageHelper.startPage(1, 10); // 查询语句,分页插件会对SQL进行拦截处理 List<User> users = userMapper.getAllUsers(); System.out.println(users); }
输出结果:
-
第二种:
@Test void testGetAllUsersByLimit() { // 开启分页查询,制定分页规则 PageHelper.startPage(1, 10); // 查询语句,分页插件会对SQL进行拦截处理 List<User> users = userMapper.getAllUsers(); PageInfo<User> pageInfo = new PageInfo<>(users); System.out.println(pageInfo); }
输出结果:
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/107600.html