PageHelper 使用示例

  1. mapper 层返回的 List 的泛型和 service 层返回的PageInfo 的泛型类型一致:
java 复制代码
@Override
public PageInfo<VO1> queryVO1List(String startTime,String endTime,Integer pageNum,Integer pageSize) {
    boolean pageStarted = false;
    try {
        PageHelper.startPage( pageNum,pageSize );
        pageStarted = true;
        List<VO1> vo1List = this.xxxMapper.queryVO1List( startTime,endTime );
        if( vo1List == null || vo1List.size() == 0 ){
            return new PageInfo<VO1>(new ArrayList<>(0));
        }
        return new PageInfo<VO1>( vo1List );
    } catch (Exception e) {
        log.error(Constants.EXCEPTION_LOG_PREFIX,e);
        return new PageInfo<VO1>(new ArrayList<>(0));
    }finally {
        if( pageStarted ){
            PageHelper.clearPage();
        }
    }
}
  1. mapper 层返回的 List 的泛型和 service 层返回的 PageInfo 的泛型类型不一致:
java 复制代码
@Override
public PageInfo<VO2> queryVO2List(String startTime,String endTime,Integer pageNum,Integer pageSize) {
    boolean pageStarted = false;
    try {
        PageHelper.startPage( pageNum,pageSize );
        pageStarted = true;
        List<VO1> vo1List = this.xxxMapper.queryVO1List( startTime,endTime );
        if( vo1List == null || vo1List.size() == 0 ){
            return new PageInfo<VO2>(new ArrayList<>(0));
        }
        PageInfo<VO1> pageInfo_vo1 = new PageInfo<>(vo1List);
        List<VO2> vo2List = this.vo1ListToVO2List( vo1List );
        PageInfo<VO2> pageInfo_vo2 = new PageInfo<>();
        pageInfo_vo1.setList( null );
        BeanUtils.copyProperties( pageInfo_vo1,pageInfo_vo2 );
        pageInfo_vo2.setList( vo2List );
        return pageInfo_vo2;
    } catch (Exception e) {
        log.error(Constants.EXCEPTION_LOG_PREFIX,e);
        return new PageInfo<VO2>(new ArrayList<>(0));
    }finally {
        if( pageStarted ){
            PageHelper.clearPage();
        }
    }
}
相关推荐
风吹落叶花飘荡7 小时前
2026年mysql数据库迁移(全流程)
数据库·mysql
徐徐同学7 小时前
cpolar为IT-Tools 解锁公网访问,远程开发再也不卡壳
java·开发语言·分布式
Mr.朱鹏8 小时前
Nginx路由转发案例实战
java·运维·spring boot·nginx·spring·intellij-idea·jetty
液态不合群8 小时前
【面试题】MySQL 的索引下推是什么?
数据库·mysql
白露与泡影9 小时前
2026版Java架构师面试题及答案整理汇总
java·开发语言
历程里程碑10 小时前
滑动窗口---- 无重复字符的最长子串
java·数据结构·c++·python·算法·leetcode·django
qq_2290580110 小时前
docker中检测进程的内存使用量
java·docker·容器
我真的是大笨蛋10 小时前
InnoDB行级锁解析
java·数据库·sql·mysql·性能优化·数据库开发
钦拆大仁10 小时前
Java设计模式-单例模式
java·单例模式·设计模式
小手cool11 小时前
在保持数组中对应元素(包括负数和正数)各自组内顺序不变的情况下,交换数组中对应的负数和正数元素
java