Mybatis 实现分页查询的最简单方法

作为企业开发新人,在学习过程中学习mybatis 的基础非常不牢,毕竟mybatis plus简直太方便啦~

但是你早晚会遇见mybatis plus满足不了的情况,或者不好实现的情况。

这时为了满足分页查询的方法,我总结了最简单的方法。

第一步:定义page

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;        

        // 如果从requestBody中获取的pageindex为null,则pageIndex=1。
        Integer pageIndex = OptionalUtils.getDefaultValue(apiCallTotalModel.getPageIndex(), 1);
        // 如果从requestBody中获取的pageSize为null,则pageSize=10。
        Integer pageSize =OptionalUtils.getDefaultValue(apiCallTotalModel.getPageSize(), 10);
        IPage<ApiCallTotalEntity> page = new Page<>(pageIndex,pageSize);

第二步:定义接口

    Page<ApiCallTotalEntity> queryByApiCode(@Param("apiCode") String apiCode,
                                            @Param("page") IPage<ApiCallTotalEntity> page);

第三步:编写SQL语句

    <select id="queryByApiCode" resultMap="BaseResultMap">
        SELECT t.api_code,
        t.app_code,
        SUM(t.success_num) AS success_num,
        SUM(t.failure_num) AS failure_num,
        SUM(t.success_total_time) AS success_total_time
        FROM ds_api_call_total t
        <where>
            <if test="apiCode != null and apiCode != ''">
                t.api_code = #{apiCode}
            </if>
        </where>
        GROUP BY t.api_code
    </select>

第四步:调用mapper,执行方法

        Page<ApiCallTotalEntity> pageEntity = apiCallTotalMapper.queryByApiCode(apiCode, page);
        List<ApiCallTotalEntity> apiCallTotalEntities = pageEntity.getRecords();

第五步:完成!

是不是很简单,不需要在sql里写 limit 设置分页的大小。

 而且page的设置 可以由前端控制。

如果本篇文章对你有所帮助,还请一键三连【开心】

  • 4
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

YOUNG.K

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值