网创优客建站品牌官网
为成都网站建设公司企业提供高品质网站建设
热线:028-86922220
成都专业网站建设公司

定制建站费用3500元

符合中小企业对网站设计、功能常规化式的企业展示型网站建设

成都品牌网站建设

品牌网站建设费用6000元

本套餐主要针对企业品牌型网站、中高端设计、前端互动体验...

成都商城网站建设

商城网站建设费用8000元

商城网站建设因基本功能的需求不同费用上面也有很大的差别...

成都微信网站建设

手机微信网站建站3000元

手机微信网站开发、微信官网、微信商城网站...

建站知识

当前位置:首页 > 建站知识

MybatisPlus中怎么自定义分页

Mybatis Plus中怎么自定义分页,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

创新互联网站建设公司一直秉承“诚信做人,踏实做事”的原则,不欺瞒客户,是我们最起码的底线! 以服务为基础,以质量求生存,以技术求发展,成交一个客户多一个朋友!专注中小微企业官网定制,网站建设、网站设计,塑造企业网络形象打造互联网企业效应。

基于mybatis plus的文档

// 当`page`参数为null时,会抛出空指针异常
> E selectPage(E page, @Param(Constants.WRAPPER) Wrapper queryWrapper);

如果想实现自动开闭分页需要这样实现

Mybatis Plus中怎么自定义分页

三、实现代码

  1. 基础分页参数

@Data
@ToString(callSuper = true)
@EqualsAndHashCode(callSuper = true)
public class PageParam extends Page {
    private Integer isOpenPage = 1;
}
public class BaseServiceImpl, T> extends ServiceImpl {
    public PageParam selectByPage(PageParam page, Wrapper queryWrapper) {
        if (page.getIsOpenPage() == 1) {
            return getBaseMapper().selectPage(page, queryWrapper);
        }

        List list = list(queryWrapper);
        PageParam pageResult = new PageParam<>();
        pageResult.setRecords(list);
        pageResult.setTotal(list.size());

        return pageResult;
    }

    public  PageParam selectByPage(PageParam page, Function, List> function) {
        if (page.getIsOpenPage() == 1) {
            function.apply(page);
            return page;
        }

        List list = function.apply(null);
        PageParam pageResult = new PageParam<>();
        pageResult.setRecords(list);
        pageResult.setTotal(list.size());

        return pageResult;
    }

    public  IPage selectByPage(PageParam page, Wrapper wrapper, Class clz) {
        IPage eiPage = selectByPage(page, wrapper);

        return eiPage.convert(o -> {
            E e = null;
            try {
                e = clz.newInstance();
            } catch (InstantiationException | IllegalAccessException ex) {
                throw new RuntimeException(ex);
            }
            BeanUtils.copyProperties(o, e);
            return e;
        });
    }
}

关于Mybatis Plus中怎么自定义分页问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注创新互联行业资讯频道了解更多相关知识。


标题名称:MybatisPlus中怎么自定义分页
标题路径:http://bjjierui.cn/article/jdiddo.html

其他资讯