MyBatis 分页查询

MyBatis 分页查询MyBatis通过limit关键字或RowBounds类进行分页查询。

大家好,又见面了,我是你们的朋友全栈君。

1. 利用 limit 关键字

接口定义:

public interface AccountMapper { 
   
    // map 类型可以传入多个参数
    List<Account> findPage(Map<String, Integer> param);
}

select 标签:

<select id="findPage" resultMap="pageMap">
    select  * from t_account limit #{offset},#{limit}
</select>

测试:

@Test
public void testFindPage() { 
   
    Map<String, Integer> map = new HashMap<>();
    // 因为 xml 中指定的属性为 offset 和 limit
    // 所以 map 传入的键需与之对应
    map.put("offset", 0);
    map.put("limit", 2);
    List<Account> page = accountMapper.findPage(map);
    System.out.println(page);
}

2. 使用 RowBounds(了解)

接口定义:

public interface AccountMapper { 
   
    // 使用 RowBounds 作为入参
    List<Account> findPage2(RowBounds rowBounds);
}

select 标签:

<select id="findPage2" resultMap="pageMap">
    select * from t_account
</select>

测试:

@Test
public void testFindPage2() { 
   
    RowBounds rowBounds = new RowBounds(0, 2);
    List<Account> accountList = accountMapper.findPage2(rowBounds);
    System.out.println(accountList);
}
  • RowBounds 会将查询出所有满足条件的数据,然后根据 offsetlimit 参数(构造函数入参)取指定区间的数据。
  • 显然当数据庞大时,效率较低。

3. PageHelper 插件

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/136964.html原文链接:https://javaforall.net

(0)
上一篇 2022年5月5日 上午6:20
下一篇 2022年5月5日 上午6:20


相关推荐

  • 深入浅出DDR系列(二)–DDR工作原理

    深入浅出DDR系列(二)–DDR工作原理学习完了 DDR 的基本组成和硬件结构原理之后 从整体上了解了 DDR 的特性和静态图 包括原理 管脚图等 那么本章就要从动态的角度来分析时序结构 包括 read write 的整个过程到数据返回发生了什么 其中包括以下内容 DDR 是如何完成 Read Write 等的操作 DDR 的基本命令 DDR 的时序参数 DDR 的性能分析 1 DRAM 基本组成对于 DRAM 其主要由行和列组成 每一个 bit 中都是由类似右下图的类晶体管的结构组成 对于 sdram 的数据 可以通过控制 column 和 row 就可以访问 sd

    2026年3月18日
    1
  • camera接口—MIPI CSI-2接口、DVP接口和FPD-Link III LVDS、GMSL等接口对比

    camera接口—MIPI CSI-2接口、DVP接口和FPD-Link III LVDS、GMSL等接口对比 接口类型 信号线 极限速率 最大速率 抗干扰能力 适用摄像头像素   PCBlaypuit MIPICSI-2 串口 CLKP/N、DATAP/N 最大支持4-lane 一般2-lane可以搞定   Gbps 低压差分信号,产生的干扰小,抗干扰能力也强 支持800W以上 …

    2022年4月29日
    142
  • 5. Claude Code Skills全量实战

    5. Claude Code Skills全量实战

    2026年3月16日
    3
  • MQTT Java 客户端

    MQTT Java 客户端MQTTJava 客户端库 EclipsePahoJ 是用 Java 编写的 MQTT 客户端库 MQTTJavaClie 可用于 JVM 或其他 Java 兼容平台 例如 Android EclipsePahoJ 提供了 MqttAsyncCli 和 MqttClient 异步和同步 API 通过 Maven 安装 PahoJava 通过包管理工具 Maven 可以方便地安装 PahoJava 客户端库 截止目前最新版本安装如下

    2026年3月19日
    2
  • JAVA不可变类(immutable)机制与String的不可变性

    JAVA不可变类(immutable)机制与String的不可变性JAVA不可变类(immutable)机制与String的不可变性

    2022年4月23日
    58
  • UUID生成方法总结

    UUID生成方法总结转自 http puxx blog ustc edu cn index php 2013 06 28 uuid E7 94 9F E6 88 90 E6 96 B9 E6 B3 95 E6 80 BB E7 BB 93 nbsp UID 简介 nbsp 摘自维基百科通用唯一识别码 英语 UniversallyU 简称 UUID 是一种软件建构的标准 亦为自由软

    2026年3月16日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号