1、添加依赖
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper</artifactId>
<version>5.2.0</version>
</dependency>
2、在mybatis-config.xml中添加分页插件
<plugins>
<!--设置分页插件-->
<plugin interceptor="com.github.pagehelper.PageInterceptor"></plugin>
</plugins>
3、分页插件的使用
public class PageHelperTest {
/**
* limit index,pageSize
* index:当前页的起始索引
* pageSize:每页显示的条数
* pageNum:当前页的页码
* index=(pageNum-1)*pageSize
*
* 使用MyBatis的分页插件实现分页功能:
* 1、需要在查询功能之前开启分页
* PageHelper.startPage(int pageNum, int pageSize);
* 2、在查询功能之后获取分页相关信息
* PageInfo<Emp> page = new PageInfo<>(list, 5);
* list表示分页数据
* 5表示当前导航分页的数量
*/
@Test
public void testPageHelper(){
try {
InputStream is = Resources.getResourceAsStream("mybatis-config.xml");
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(is);
SqlSession sqlSession = sqlSessionFactory.openSession(true);
EmpMapper mapper = sqlSession.getMapper(EmpMapper.class);
//Page<Object> page = PageHelper.startPage(2, 4);
// PageHelper.startPage(int pageNum, int pageSize);
//pageNum:当前页的页码,pageSize:每页显示的条数
PageHelper.startPage(2,10);
Page<Emp> page=(Page)mapper.selectPage;//强转
System.out.println("总页数:"+page.getPages());
System.out.println("总记录数:"+page.getTotal());
System.out.println("开始行号:"+page.getStartRow());
System.out.println("结束行号: "+page.getEndRow());
//当前页数据
List<Emp> emps = page.getResult();
for (Emp emp : emps) {
System.out.println(emp);
}
} catch (IOException e) {
e.printStackTrace();
}
}
}