重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
Mybatis Plus中怎么自定义分页,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。
创新互联网站建设公司一直秉承“诚信做人,踏实做事”的原则,不欺瞒客户,是我们最起码的底线! 以服务为基础,以质量求生存,以技术求发展,成交一个客户多一个朋友!专注中小微企业官网定制,网站建设、网站设计,塑造企业网络形象打造互联网企业效应。
基于mybatis plus
的文档
// 当`page`参数为null时,会抛出空指针异常> E selectPage(E page, @Param(Constants.WRAPPER) Wrapper queryWrapper);
如果想实现自动开闭分页需要这样实现
基础分页参数
@Data @ToString(callSuper = true) @EqualsAndHashCode(callSuper = true) public class PageParamextends 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中怎么自定义分页问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注创新互联行业资讯频道了解更多相关知识。