SpringBoot分页插件PageHelper

目的:利用PageHelper实现 springboot分页


1.pom文件

<!--pagehelper 分页-->
		<dependency>
			<groupId>com.github.pagehelper</groupId>
			<artifactId>pagehelper-spring-boot-starter</artifactId>
			<version>1.2.3</version>
		</dependency>

2.controller代码

   @GetMapping("getnumberlist")
    public PageUtil<Map<String, String>> geNumberList(@RequestParam("pagenum") int pagenum, @RequestParam("pagesize")int pagesize){
        PageUtil<Map<String, String>> pageUtil = bpCountLimitService.getCommitMentNumberList(pagenum1, pagesize);
        return pageUtil;
    }

3.service代码

@Service
public class BPCountLimitServiceImpl implements BPCountLimitService{

    @Autowired
    private BPCountLimitMapper bpCountLimitMapper;

    @Override
    public PageUtil<Map<String,String>> getCommitMentNumberList(int pagenum, int pagesize) {
        List<Map<String,String>> list = null ;
        Page<Map<String,String>> page = null;
        PageUtil<Map<String,String>> pageUtil=null;
            page = PageHelper.startPage(pagenum, pagesize);
            list = bpCountLimitMapper.getCommitMentNumberList();
            pageUtil = new PageUtil<>(page,list);
        System.out.println(".....");
        return pageUtil;
    }

4.PageUtil

@Data
public class PageUtil<T> implements Serializable {


    private static final long serialVersionUID = 1049685030686235447L;
    /**
     * number 每页显示数量
     * size 每页显示数量
     * numberOfElements 当前页记录数
     * totalElements 总记录数
     * totalPages 总页数
     * content 返回结果集
     */

    private int number=1;

    private int size = 5;
    private int numberOfElements;
    private long totalElements;
    private int totalPages;
    private List<T> content;

    public PageUtil(){

    }

    public PageUtil(List<T> list){
        setNumber(0);
        int count=list.size();
        setSize(count);
        setNumberOfElements(count);
        setTotalElements(count);
        setContent(list);
        setTotalPages(1);
    }
    public PageUtil(Page<T> page, List<T> list){
        setNumber(page.getPageNum());
        int count=list.size();
        setSize(page.getPageSize());
        setNumberOfElements(count);
        setTotalElements(page.getTotal());
        setContent(list);
        setTotalPages(page.getPages());
    }
}

5.application.yml

# 分页配置
pagehelper:
  helper-dialect: mysql
  reasonable: true
  support-methods-arguments: true
  params: count=countSql
注意:要是页数小于1显示第一页,大于最后一页显示最后一页。

猜你喜欢

转载自blog.csdn.net/fwk19840301/article/details/80199023