PageHelper-分页插件
一. PageHelper使用
1. PageHelper是第三方提供的在Mybatis框架中用来实现分页的插件,用来简化分页操作,提高开发效率
2. 使用步骤:
(1) 引入PageHelper插件的依赖
pom.xml <dependency><groupId>com.github.pagehelper</groupId><artifactId>pagehelper-spring-boot-starter</artifactId><version>1.4.7</version></dependency>
(2) 定义Mapper接口的查询方法
/** 使用pageHelper进行分页查询* */@Select("select e.*, d.name deptName from emp e left join dept d on e.dept_id = d.id order by e.update_time desc")List<Emp> pageList();
(3) 在Service方法中实现分页查询
/** 分页查询员工信息-- 使用PageHelper* */@Overridepublic PageResult<Emp> pageList(Integer page, Integer pageSize) {// 设置分页参数PageHelper.startPage(page, pageSize);List<Emp> emps = empMapper.pageList();//执行查询PageResult<Emp> pageResult = new PageResult<>();//封装结果Page<Emp> p = (Page<Emp>) emps;//获取总记录数pageResult.setTotal(p.getTotal());//获取结果列表pageResult.setRows(p.getResult());return pageResult;}
3. 如果运行时出现 java.lang.ClassCastException异常,是引入的pagehelper版本低了,和项目中使用的其他库的版本不兼容。版本不匹配导致了类型转换错误。
在pom.xml文件中将引入的pagehelper依赖的版本更新为1.4.7即可,刷新。若刷新失败就重启一下idea,再次打开后会自动下载更新版本
4. 注意事项:
(1)使用PageHelper定义的SQL语句结尾不能加分号
(2)PageHelper仅仅能对紧跟在其后的第一个select语句有效