(二)整合分页插件pagehelper

分页插件依赖:

<!-- https://mvnrepository.com/artifact/com.github.pagehelper/pagehelper-spring-boot-starter -->
        <dependency>
            <groupId>com.github.pagehelper</groupId>
            <artifactId>pagehelper-spring-boot-starter</artifactId>
            <version>1.2.10</version>
        </dependency>

application.yml添加配置:

pagehelper:
  helperDialect: mysql
  reasonable: true
  supportMethodsArguments: true
  params: count=countSql

分页参数类PageRequest.java

/**
 * description: 分页参数
 *
 * @author sanchar
 * @date 12/12/2018 19:26
 * lastUpdateBy: sanchar
 * lastUpdateDate: 12/12/2018
 */
public class PageRequest {

    private int page;
    private int size;
    private String sort;

    public PageRequest() {}

    public PageRequest(int page, int size) {
        this(page, size, null);
    }

    public PageRequest(int page, int size, String sort) {
        this.page = page;
        this.size = size;
        this.sort = sort;
    }

    public int getPage() {
        return page;
    }

    public void setPage(int page) {
        this.page = page;
    }

    public int getSize() {
        return size;
    }

    public void setSize(int size) {
        this.size = size;
    }

    public String getSort() {
        return sort;
    }

    public void setSort(String sort) {
        this.sort = sort;
    }
}

查询方法function接口:

/**
 * description: Select
 *
 * @author sanchar
 * @date 12/13/2018 12:46
 * lastUpdateBy: sanchar
 * lastUpdateDate: 12/13/2018
 */
@FunctionalInterface
public interface Select<E> {
    List<E> doSelect();
}

自定义PageHelper:

**
 * description:
 *
 * @author sanchar
 * @date 12/13/2018 12:11
 * lastUpdateBy: sanchar
 * lastUpdateDate: 12/13/2018
 */
public class PageHelper extends PageMethod {
    public PageHelper() {
    }

    public static <E> PageInfo<E> doPage(PageRequest pageRequest, Select select) {
        startPage(pageRequest.getPage(), pageRequest.getSize());
        List<E> list = select.doSelect();
        PageInfo<E> pageInfo = new PageInfo<>(list);
        return pageInfo;
    }
}

使用PageHelper参考(service实现层):

    @Override
    public PageInfo<Demo> pageQuery(PageRequest pageRequest, Demo demo) {
        return PageHelper.doPage(pageRequest, () -> demoMapper.select(demo));
    }
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值