在My Spring MVC应用程序中,我使用Spring-data-jpa和MySql Data Base。 对于试图实现分页的数据表。
在桌面上有191条记录,并且' id'是主键 - 从10,11,12 - 199,200开始的值。
我的每个页面都包含假设 10 记录。
以下是我用来从表中获取10条记录的代码。
LVM
对于第1页 - > firstResult = 1 和maxResults = 10
Pageable pageable = new PageRequest(1,10);
这里我得到10条记录, id 20到29
但我期待 10到19
对于第2页 - > firstResult = 11 和maxResults = 10
Pageable pageable = new PageRequest(11,10);
这里我得到10条记录, id 120到129
其他记录呢。
现在
对于第3页 - > firstResult = 21 和maxResults = 10
Pageable pageable = new PageRequest(21,10);
在这里,我没有得到任何记录。
Pageable pageable = new PageRequest(firstResult, maxResults);
Page<User> findAll2 = repository.findAll(pageable);
答案 0 :(得分:1)
第一个数字是page
而不是firstResult
。所以你应该从
Pageable pageable = new PageRequest(0, 10);
然后:
Pageable pageable = new PageRequest(1, 10);
等等。
当你说
时Pageable pageable = new PageRequest(21, 10);
你要求第21页,你没有,所以它返回null。