“分页处理结果集”通常指从数据库或集合中取一部分数据展示(如每页 10 条),而不是一次性加载全部。下面按常见场景说明。
SELECT *
FROM user
ORDER BY id
LIMIT 10 OFFSET 20;
LIMIT:每页大小OFFSET:跳过多少条(第 3 页 = 20)✅ 推荐写法(避免 OFFSET 过大):
SELECT *
FROM user
WHERE id > 100
ORDER BY id
LIMIT 10;
SELECT *
FROM (
SELECT t.*, ROWNUM rn
FROM user t
ORDER BY id
)
WHERE rn BETWEEN 21 AND 30;
SELECT *
FROM user
ORDER BY id
OFFSET 20 ROWS
FETCH NEXT 10 ROWS ONLY;
<select id="list">
SELECT * FROM user
ORDER BY id
LIMIT #{size} OFFSET #{offset}
</select>
Page<User> page =
userRepository.findAll(PageRequest.of(2, 10));
List<User> list = getAllUsers();
int page = 2;
int size = 10;
List<User> pageList = list.stream()
.skip((long) page * size)
.limit(size)
.collect(Collectors.toList());
⚠️ 仅适合小数据量
page = 1
size = 10
total = 235
返回示例:
{
"page": 1,
"size": 10,
"total": 235,
"data": [...]
}
如果你能说明:
我可以给你更精确的实现方案。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。