当我们用插件解决分页问题时,会出现total数量==当前页显示的数据条数

1、在pom.xml中引入对应插件

            <dependency>
                <groupId>com.github.pagehelper</groupId>
                <artifactId>pagehelper-spring-boot-starter</artifactId>
            </dependency>

2、对应的request和result

public class PageRequest extends BaseXyRequest{
    /**
     * 页码
     */
    private Integer pageNum = 1;
    /**
     * 分页大小
     */
    private Integer pageSize = 20;
}
public class PageResult<T> extends BaseXyResult {
    /**
     * 当前页 从1 开始
     **/
    private int index = 1;

    /**
     * 分页size
     **/
    private int pageSize = 20;
    /**
     * 总页数
     */
    private int totalPages = 0;
    /**
     * 总记录数
     **/
    private Long totalItems = 0L;

    /**
     * 单个返回结果
     */
    private List<T> value;
}

3、在service中,取total需要在开启分页的时候取,不然取出来的就是当前页的数据量。

//开启分页
        Page page = PageHelper.startPage(request.getPageNum(), request.getPageSize());
        List list = Service.list(request);
        PageInfo pageInfo = new PageInfo(list);
        pageInfo.setPages(page.getPages());//总页数
        pageInfo.setTotal(page.getTotal());//总条数

这样取出来的值就是总页数以及对应的总条数。

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐