gpt4 book ai didi

java - 使用游标对象化分页

转载 作者:太空宇宙 更新时间:2023-11-03 15:19:50 24 4
gpt4 key购买 nike

我的 RPC 服务中有这个方法:

@Override
public Entrata[] getEntrate(int from, int to) {
List<Entrata> data = entrateDao.list();
return data.toArray(new Entrata[0]);
}

如您所见,我没有使用这两个参数,在 SQL 世界中,我会使用 LIMIT 和 OFFSET。

我现在还不完全清楚我必须做什么,我开始读这个: http://code.google.com/p/objectify-appengine/wiki/IntroductionToObjectify#Cursors

我想我必须做一个 query.startCursor(<my_"from"_parameter>)

然后迭代“TO”次,页面大小。

还好吗?你能帮我做一些片段吗? :)

最佳答案

来自文档:游标让您可以在查询结果集中获取“检查点”,将检查点存储在其他地方,然后从您迟到的地方继续

由于您只需要限制/偏移量,因此您必须使用 Objectify Query 的 limit()offset() 方法。喜欢:

ob.query(Entrata.class).limit(to - from).offset(from)

或者,当你有光标时:

String cursor = // get it from request
Query<Entrata> query = ob.query(Entrata.class);
Query q = query.startCursor(Cursor.fromWebSafeString(cursor));
q.limit(x);
QueryResultIterator<Entrate> iterator = query.iterator()
List<Entrate> data = // fetch data
String newCursor = iterrator.getStartCursor().toWebSafeString()
return new EntrataListWithCursor(data, cursor);

关于java - 使用游标对象化分页,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7027202/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com