select * from table where id > #{id} and update_time >= #{startDate} order by id limit #{limit}
Date now = new Date();
for (List<PO> pos = dao.selectWithLimit(0, now, 100);
CollectionUtils.isNotEmpty(pos);
pos = dao.selectWithLimit(pos.get(pos.size() - 1).getId(), now, 100)) {
// 逻辑处理
}
- 根据创建时间分页,根据时间和id排序,否则相同的create_time顺序是不确定的
- 分页总数据小,达不到万级别就老老实实limit offset lenth语法吧
select * from table order by created_time, id limit #{offset}, #{pageSize}
- 这种方法没有办法直接根据页码跳转,只能一页一页往下翻,适合大表,分页总数据过万的场景
select * from table where create_time > #{preCreateTs} or (create_time = #{preCreateTs} and id > #{preId}) order by create_time, id limit #{limit}