一、导入jar包
1、jsqlparser.jar
2、pagehelper.jar
二、启用插件
在全局配置文件中:mybatis-config.xml中,添加
<!-- 启用自定义插件拦截器 --> <plugins> <plugin interceptor="com.github.pagehelper.PageInterceptor"></plugin> </plugins>
三、使用教程
直接在需要的地方,调用 PageHelper就行了。
PageHelper,Page,PageInfo,都是分页插件自带的对象。
@Test
public void test_Page() throws IOException {
// 1、获取sqlSessionFactory对象
SqlSessionFactory sqlSessionFactory = getSqlSessionFactory();
// 2、获取sqlSession对象
SqlSession openSession = sqlSessionFactory.openSession();
try {
// 3、获取接口的实现类对象
//会为接口自动的创建一个代理对象,代理对象去执行增删改查方法
EmployeeMapper mapper = openSession.getMapper(EmployeeMapper.class);
Page<Object> page = PageHelper.startPage(1,5);
List<Employee> emps = mapper.getEmps();
/*System.out.println("当前页码:"+page.getPageNum());
System.out.println("总记录数:"+page.getTotal());
System.out.println("每页的记录数:"+page.getPageSize());
System.out.println("总页码:"+page.getPages());*/
//传入要连续显示多少页
PageInfo<Employee> info = new PageInfo<>(emps, 5);
System.out.println("当前页码:"+info.getPageNum());
System.out.println("总记录数:"+info.getTotal());
System.out.println("每页的记录数:"+info.getPageSize());
System.out.println("总页码:"+info.getPages());
System.out.println("是否第一页:"+info.isIsFirstPage());
System.out.println("连续显示的页码:");
int[] nums = info.getNavigatepageNums();
for (int i = 0; i < nums.length; i++) {
System.out.println(nums[i]);
}
for (Employee employee : emps) {
System.out.println(employee);
}
} finally {
openSession.close();
}
}