MyBatis分页插件
导入pagehelper依赖
<!-- 分页插件: -->
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper</artifactId>
<version>5.2.0</version>
</dependency>
核心配置文件设置分页插件
<plugins>
<!--设置分页插件-->
<plugin interceptor="com.github.pagehelper.PageInterceptor"></plugin>
</plugins>
应用
只有紧跟PageHelper.startPage方法后的第一个查询方法会被分页。
// PageHepler.startPage()方法中的两个参数,分别是页码(page)、每页显示条数(pageSize)
PageHelper.startPage(2,10);
List<User> allUser = userMapper.getAllUser();
PageInfo<User> pageInfo = new PageInfo<>(allUser,2);
System.out.println(pageInfo);
PageInfo类常用属性
pageNum:当前页的页码
pageSize:每页显示的条数
size:当前页显示的真实条数
total:总记录数
pages:总页数
prePage:上一页的页码
nextPage:下一页的页码
isFirstPage/isLastPage:是否为第一页/最后一页
hasPreviousPage/hasNextPage:是否存在上一页/下一页
navigatePages:导航分页的页码数
navigatepageNums:导航分页的页码,[1,2,3,4,5]
原理剖析
limit
- 基本语法:LIMIT接受一个或两个参数。如果只有一个参数,它表示返回的最大记录数。如果有两个参数,第一个参数表示返回记录的起始位置,第二个参数表示要返回的记录数量。
- 示例
SELECT * FROM table_name LIMIT 5;
:这将返回表中的前5条记录。SELECT * FROM table_name LIMIT 5, 10;
:这将跳过前5条记录,然后返回接下来的10条记录。