mybatis RowBounds

1.RowBounds是mybatis提供的一个内存分页/逻辑分页的工具;

2.逻辑分页和物理分页

  • 逻辑分页:一次性从库里捞出所有数据,在内存中进行分页,只有当重新请求第一页时,所有数据才会进行一次更新;(目前测试出来是这样,不清楚是否有机制会刷新所有的查询数据)
  • 物理分页:直接在sql查询的时候进行limit,获取仅需要的部分数据,实时查询最新的数据

3.RowBounds解决的问题,以及本身存在的问题:

  • 物理分页实时查询最新的数据导致当数据更新频率较高时,出现数据重复或者数据丢失的问题,如果此时选择逻辑分页,则不会出现上述问题,但是只有返回第一页进行刷新时才能拿到最新的数据
  • 逻辑分页,当一次从数据库查询的数据量较大的情况下,十分影响性能,仅针对单次查询的总数据量较小的时候使用

4.使用:

只需要在接口上加上RowBounds参数即可:有两个参数:offset和limit

定义:List<A> testLimit(RowBounds rowBounds); 
使用:testMapper.testLimit(new RowBounds(0, 10)) 
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值