githubのPageHelperで検索された改ページ対象PageInfoが優雅にPageInfoに転化する問題を解決します。

1452 ワード

ギthubのPageHelperを使う時、私達が調べたのはPageInfoのPOオブジェクトです。上層部ではPageInfoのDTXまたはVOオブジェクトが必要です。ここではツールクラスが優雅にPageInfoタイプに転化すると書いてあります。
ツールクラスPageInfoUtil.java
import com.github.pagehelper.Page;
import com.github.pagehelper.PageInfo;
import org.springframework.beans.BeanUtils;

/**
 * @description:github Pagehelper  
 * @Author:yuyufeng
 * @Date:2019/7/22 10:38
 */
public class PageInfoUtil {
    public static  

PageInfo pageInfo2PageInfoDTO(PageInfo

pageInfoPO, Class dClass) { Page page = new Page<>(pageInfoPO.getPageNum(), pageInfoPO.getPageSize()); page.setTotal(pageInfoPO.getTotal()); for (P p : pageInfoPO.getList()) { D d = null; try { d = dClass.newInstance(); } catch (InstantiationException e) { e.printStackTrace(); } catch (IllegalAccessException e) { e.printStackTrace(); } BeanUtils.copyProperties(p, d); page.add(d); } return new PageInfo<>(page); } }

使用
		PageHelper.startPage(1, 10, "crreate_time desc");
        List list = productMapper.select(product);
        PageInfo pageInfo = new PageInfo(list);
        PageInfo productDTOPageInfo = PageInfoUtil.pageInfo2PageInfoDTO(pageInfo, ProductDTO.class);