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();
        }
    }
}
相关推荐
还是鼠鼠26 分钟前
tlias智能学习辅助系统--Maven 高级-私服介绍与资源上传下载
java·spring boot·后端·spring·maven
Xiaokai丶1 小时前
Java 8 新特性深度剖析:核心要点与代码实战
java
灵魂猎手1 小时前
3. MyBatis Executor:SQL 执行的核心引擎
java·后端·源码
Galaxy在掘金1 小时前
从业8年,谈谈我认知的后端架构之路-1
java·架构
花花无缺1 小时前
MySQL 的存储引擎-InnoDB 和 MyISAM的对比
mysql
苏琢玉1 小时前
如何让同事自己查数据?写一个零依赖 PHP SQL 查询工具就够了
mysql·php
努力努力再努力wz2 小时前
【c++深入系列】:万字详解模版(下)
java·c++·redis
代码的余温2 小时前
MySQL性能优化:10个关键参数调整指南
数据库·mysql·性能优化
瓦特what?3 小时前
关于C++的#include的超超超详细讲解
java·开发语言·数据结构·c++·算法·信息可视化·数据挖掘
是乐谷3 小时前
阿里云杭州 AI 产品法务岗位信息分享(2025 年 8 月)
java·人工智能·阿里云·面试·职场和发展·机器人·云计算