Spring PageHelper
PageHelper
详细的案例可以在Java Tlias项目中的员工分页查询下查看
- PageHelper是第三方提供的在MyBatis框架中用来实现分页的插件,用来简化分页操作,提高开发效率
- 使用步骤:
- 引入PageHelper的依赖
- 定义Mapper接口的查询方法(无需考虑分页)
- 在Service方法中实现分页查询
1 | <dependency> |
1 | // 查询员工数据 |
1 | public PageResult<Emp> page(Integer page, Integer pageSize) { |
当调用Mapper层的list方法查询时,PageHelper会通过MB的拦截器加上分页参数,并且返回的实际上是Page类型对象
用的是List接受返回的数据,**因为Page是List的实现类**,子类不需要强转就可以直接使用父类赋值
但是又由于需要调用Page的特有方法,所以父类又需要**向下转型**为子类
实现机制:
- 通过MB拦截器对SQL语句进行修改
- SELECT COUNT(0) FROM emp p …
- SELECT … FROM emp e … LIMIT ?, ?
注意事项:
- SQL语句结尾不要加分号
;- 正确:
@Select("SELECT ... FROM emp ...") - 错误:
@Select("SELECT ... FROM emp ...;")
- 正确:
- PageHelper只会对紧跟在其后的第一条SQL语句进行分页处理
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Norlcyan's Blog!
