Jfinal paginate 获取最后一页数据

_Roger_ 发布于 2016/08/28 19:33
阅读 230
收藏 0

@JFinal 你好,想跟你请教个问题:我现在有个需求需要获取最后一页数据,不知道怎么使用paginate方法实现

加载中
1
蓝水晶飞机
蓝水晶飞机

int pageSize = ...;

int count = Db.queryInt("select count(*) from yourTable");

int pageCount = Math.ceil(count / (float)pageSize); // 计算总页数

Page<Record> result = Db.paginate("select *", "from jfinal", pageSize, pageCount -1);

0
JFinal
JFinal
     将 order by 中的 desc 与 asc 对调一下,第一页就是最后一页了。此外,你还可以先用 query 方法查询一下总页数数,然后再用 paginate 传入总页数,再查最后一页
JFinal
JFinal
回复 @_Roger_ : 对性能要求很高的话,可以用 query 与 find 结合起来做分页,前者查询总页数、find 得到具体哪一页的数。查询次数不会增多。你这个建议蛮不错,已做备忘,甚至 -2、-n 都考虑支持,跟 redis 有点像
_
_Roger_
第一页是降序,取最后一页用升序,那还是加一步重新排成降序的步骤;另外,先query的话多加了一次查询,要是能使用-1来获取最后一页就好了
返回顶部
顶部