分页拦截器
@Override
public Page findBsProcList4Page(BsProcListQuery param) {
if(param == null){
return new Page(param.getCurrentPage(), param.getPageSize(), 0L, null);
}
// 过滤已经删除的数据
param.setStatus((byte) 0);
Example example = new Example(BsProcList.class);
Example.Criteria cri = example.createCriteria();
// 设置查询条件
BsProcListServiceUtil.initFindBsProcListParam(cri, param);
// 排序
example.setOrderByClause("id desc");
// 设置分页
PageHelper.startPage(param.getCurrentPage(), param.getPageSize());
// 查询
List<BsProcList> findList = bsProcListMapper.selectByExample(example);
// 如果需要特殊处理返回结果,可在此处重新封装
PageInfo<BsProcList> pageInfo = new PageInfo<>(findList);
return new Page(param.getCurrentPage(), param.getPageSize(), pageInfo.getTotal(), pageInfo.getList());
}
监听查询语句 (拦截器)
到达查询数据库之前, 他就会加上分页的SQL 比如 limit1 7 之类的
太酷了!
感谢韩老师!