一.分页了解
开发中都会用到的,一种是Pagehelper(Myabtis的官方插件),还有一种是Mabatis-plus中自带的,当然我们两种都学一下,毕竟Pagehelper还是有它的一席之地的。
二.几个参数
- pageNum: 当前页码
- pages:总页数
- total:总数据量
- pageSize:每页显示的数据
- List:当前页显示数据集合
三.它的使用
- 导入PageHelper的相关jar包
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper</artifactId>
<version>5.2.1</version>
</dependency>
- 在mybatis-config.xml中配置
< <plugins>
<!-- com.github.pagehelper为PageHelper类所在包名 -->
<plugin interceptor="com.github.pagehelper.PageInterceptor">
<!-- 表示使用mysql的分页方法 -->
<property name="helperDialect" value="mysql" />
<!-- 表示当页码长度为0 的时候,就不进行分页查询 -->
<property name="pageSizeZero" value="true"/>
</plugin>
</plugins>
- 使用PageHelper开启分页-----PageHelper.startPage(1,2)
如果不开启则会查询全部
@Test
public void test08(){
try {
String resource = "mybatis-config.xml";
InputStream inputStream = Resources.getResourceAsStream(resource);
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
//通过SqlSessionFactory获取SqlSession对象
SqlSession sqlSession = sqlSessionFactory.openSession();
//获取EmployeeMapper的代理对象【com.sun.proxy.$Proxy6】
EmployeeMapper employeeMapper = sqlSession.getMapper(EmployeeMapper.class);
Page<Object> page = PageHelper.startPage(1, 2);
System.out.println(page);
System.out.println("================================================");
List<Employee> employeeList = employeeMapper.queryAll();
for (Employee employee : employeeList) {
System.out.println(employee);
}
} catch (IOException e) {
e.printStackTrace();
}
}
查询结果看一下
所有的东西都可以通过page获取
- 最后将结果封装在PageInfo中,使用pageinfo实现后续的分页效果