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();
        }
    }
}
相关推荐
爱上语文3 分钟前
Springboot的三层架构
java·开发语言·spring boot·后端·spring
serve the people6 分钟前
springboot 单独新建一个文件实时写数据,当文件大于100M时按照日期时间做文件名进行归档
java·spring boot·后端
qmx_071 小时前
HTB-Jerry(tomcat war文件、msfvenom)
java·web安全·网络安全·tomcat
为风而战1 小时前
IIS+Ngnix+Tomcat 部署网站 用IIS实现反向代理
java·tomcat
技术无疆3 小时前
快速开发与维护:探索 AndroidAnnotations
android·java·android studio·android-studio·androidx·代码注入
这孩子叫逆6 小时前
6. 什么是MySQL的事务?如何在Java中使用Connection接口管理事务?
数据库·mysql
架构文摘JGWZ6 小时前
Java 23 的12 个新特性!!
java·开发语言·学习
拾光师7 小时前
spring获取当前request
java·后端·spring
aPurpleBerry7 小时前
neo4j安装启动教程+对应的jdk配置
java·neo4j
我是苏苏7 小时前
Web开发:ABP框架2——入门级别的增删改查Demo
java·开发语言