MyBatis支持两种类型的分页:基于物理分页和基于逻辑分页。
-
基于物理分页:
- 在SQL中使用LIMIT和OFFSET关键字来实现物理分页。例如:SELECT * FROM table LIMIT #{offset}, #{limit}。
- 在Mapper接口中定义方法时,使用@Param注解来传递offset和limit参数。
-
基于逻辑分页:
- 在SQL中不使用LIMIT和OFFSET关键字,而是查询出所有符合条件的记录,并在应用层通过Java代码进行分页处理。
- 在Mapper接口中定义方法时,使用@Param注解来传递查询条件参数,并在方法中使用Java代码进行分页处理。
通常情况下,基于物理分页是更常用和更高效的分页方式。但基于逻辑分页可以在查询结果集较小的情况下,提供更灵活的分页处理能力。选择哪种分页方式取决于具体的应用需求和数据库性能。