PageHelper使用简化

原先项目中分页都是自己手写的,现引用PageHelper工具;

maven引用如下:


            com.github.pagehelper
            pagehelper
            5.1.2
        
        
            com.github.pagehelper
            pagehelper-spring-boot-autoconfigure
            1.2.3
        
        
            com.github.pagehelper
            pagehelper-spring-boot-starter
            1.2.3
        

在网上也翻看了很多例子,大部分代码都是先分页,然后再查询列表,2行代码,如下:

PageHelper.startPage(pageNumber,pageSize);
List list =portalMapper.queryLunboList(language);
PageInfo pageInfo = new PageInfo<>(list);

看着有些麻烦,可以写个工具类简化成一行;

用到了jdk1.8中函数编程Supplier,代码如下:

import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;

import java.util.List;
import java.util.function.Supplier;

/**
 * 分页工具类
 */
public class PageUtils {
    public static PageInfo generatePage(Supplier supplier, int pageNum, int pageSize){
        PageHelper.startPage(pageNum,pageSize);
        List list = supplier.get();
        return new PageInfo(list);
    }
}

然后引用就方便多了,如下示例:

@Override
    public PageInfo getUserList(Map params, Integer pageNum, Integer pageSize) {
        return PageUtils.generatePage(()->indexMapper.getUserList(params),pageNum,pageSize);
    }


你可能感兴趣的:(java)