按第一行和页面大小选择记录

时间:2013-09-04 13:08:05

标签: pagination mybatis

我正在尝试在前端实现延迟加载和分页。我在前端提供了以下两个变量:

  • firstRow - 在select查询结果中返回的第一条记录的索引。
  • pageSize - 从firstRow开始,选择查询必须返回的记录总大小。

如何在MyBatis的select查询中使用它们以返回所需的记录子集?

1 个答案:

答案 0 :(得分:0)

mybatis中没有真正的分页魔法,只需编写查询然后使用行号对其进行子集化。分页语法将根据数据库而有所不同,但这是一个oracle示例。

select *
from (
  select r.*, rownum rnum,
  from (# base query goes here #) r
)
where rnum >= (#{firstRow}) 
and rnum < #{firstRow} + #{pageSize}