1、引入PageHelperj.ar
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper</artifactId>
<version>4.1.4</version>
</dependency>
2、在全局配置(mybatis.xml中)文件中配置PageHelper
<plugins>
<plugin interceptor="com.github.pagehelper.PageHelper"></plugin>
</plugins>
3.在java代码中使用PageHelper
//mybatis分页
@Test
publci void test3() {
InputStream inputStream;
SqlSession openSession = null;
try {
inputStream = Resources.getResourceAsStream("mybatis.xml");
// 1. 获取sqlSessionFactory对象
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
// 2. 获取sqlSession对象
openSession = sqlSessionFactory.openSession();
// 获取接口,接口自动的创建一个代理对象,代理对象去执行数据库操作
EmpolyeeMapper mapper = openSession.getMapper(EmpolyeeMapper.class);
// PageHelper来设置当前页和最大条数
PageHelper.startPage(1, 5);
List<User> pageSelectUser = mapper.pageSelectUser();
pageSelectUser.stream().forEach(System.out::println);
PageInfo<User> page = new PageInfo<User>(list);
long total = page.getTotal(); // 获取总记录数
System.out.println("总条数:"+page.getTotal());
System.out.println("每页显示条数:"+page.getPageSize());
System.out.println("总页数:"+page.getPages());
} catch (IOException e) {
e.printStackTrace();
} finally {
if(openSession != null) {
openSession.close();
}
}
}
项目整合使用后方法(如ssm):
@Test
public void test() {
PageHelper.startPage(1, 2);
List<RoleInfo> list = roleService.findRoleByPage("");
PageInfo<RoleInfo> pageInfo = new PageInfo<RoleInfo>(list);
long total = pageInfo.getTotal(); // 获取总记录数
System.out.println("共有商品信息:" + total);
System.out.println("总条数:"+pageInfo.getTotal());
System.out.println("每页显示条数:"+pageInfo.getPageSize());
System.out.println("总页数:"+pageInfo.getPages());
System.out.println(""+pageInfo.getPageNum());
}