Bootstrap

Mybatis plus 三种分页方式,可以兼容pagehelper

一、mybatis-plus 自带的 selectPage

        // 分页参数
        Page<XXXXXXXDTO> rowPage = new Page(page, pageSize);

        // queryWrapper组装查询where条件
        LambdaQueryWrapper<SchoolStudent> queryWrapper = new LambdaQueryWrapper<>();
        rowPage = this.baseMapper.selectPage(rowPage, queryWrapper);
        return rowPage;

二、mybatis抽象方法在xml中 使用 Mybatis-plus 的Page对象封装插件

定义XML

    <select id="getxxxxxList" resultType="com.example.xxxxx.XXXXXXXDTO">
        select xxxxxxx.........
    </select>

定义的抽象方法

Page<XXXXXXXDTO> getxxxxxList(Page<XXXXXXXDTO> rowPage, @Param("xxxx") XXXXXXXDTO xxxxx);

实际查询

    @Override
    public IPage<XXXXXXXDTO> getxxXXxxxXxList(Integer current, Integer size) {
        Page<XXXXXXXDTO> rowPage = new Page(current, size);
        XXXXXXXDTO xxxxx= new XXXXXXXDT();
        rowPage = this.baseMapper.getxxxxxList(rowPage, schoolStudent);
        return rowPage;
    }

仅供参考,具体需要带入自己的业务内容

二、PageHelper 插件分页查询

依赖

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

实际调用代码

    @Override
    public PageInfo<XXXXXXXDTO> getPageStudentFour(Integer currentPage, Integer pageSize) {
        // 初始化插件
        PageHelper.startPage(currentPage, pageSize);
        // 查询结果 会自动附带分页Limit 条件
        List<XXXXXXXDTO> list = xxxxxMapper.list();
        //用PageInfo对结果进行包装
        PageInfo page = new PageInfo(list);
        return page;
    }

;