4.1. 分页查询介绍
不同数据库分页方法不同。在MySQL中,常见的分页操作是通过:LIMIT关键字实现:
公式:当前页(当前页-1 * 每页显示条数),每页显示条数;
//例如:显示第2页,每页显示3条:(2-1 * 3),3
SELECT * FROM student LIMIT 3,3
4.2. PageHelper的使用
导入jar包依赖:
<dependency>
<groupId>com.github.jsqlparser</groupId>
<artifactId>jsqlparser</artifactId>
<version>4.0</version>
</dependency>
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper</artifactId>
<version>5.1.10</version>
</dependency>
在核心配置文件中集成插件:
//在MyBatisConfig.xml文件中集成插件
<plugins>
<plugin interceptor="com.github.pagehelper.PageInterceptor"></plugin>
</plugins>
使用步骤:
//先获取持久化对象mapper
StudentMapper mapper = sqlSession.getMapper(StudentMapper.class);
//在查询之前,先通过PageHelper设置分页,参数:(第几页,显示条数)
PageHelper.startPage(3, 3);
List<Student> students = mapper.selectAll();
获取其他信息:
//获得查询结果后,可进一步查询相关信息:
//泛型:查询结果类型,参数:查询结果;
PageInfo<Student> info = new PageInfo<>(students);
System.out.println("总条数:" + info.getTotal());
System.out.println("总页数:" + info.getPages());
System.out.println("当前页:" + info.getPageNum());
System.out.println("每页显示条数:" + info.getPageSize());
System.out.println("上一页" + info.getPrePage());
System.out.println("下一页:" + info.getNextPage());
System.out.println("是否是第一页:" + info.isIsFirstPage());
System.out.println("是否最后一页:" + info.isIsLastPage());