【问题标题】:Ormlite: How to use the offset method after where method?Ormlite:如何在where方法之后使用offset方法?
【发布时间】:2015-08-23 14:20:45
【问题描述】:

我对 Android 和 Ormlite 还是很陌生。目前,我正在获取可以返回新闻列表的 dao,并且我想按类型和页面搜索新闻列表。代码如下:

NewsItems = NewsItemDao.queryBuilder().where.eq("type",type).offset(0).limit(5).query;

首先,我将从 eq 方法中得到一个列表。然后我想要第一到第五条新闻。上面的代码不起作用,我该怎么办?谢谢。

【问题讨论】:

  • 他们如何“不工作”?你得到了什么结果?
  • 另外,请注意 javadocs 建议您指定 orderBy(...) 否则您可能会得到一些奇怪的排序:ormlite.com/javadoc/ormlite-core/com/j256/ormlite/stmt/…
  • 我猜偏移方法必须直接跟随 queryBuilder() 而不是 eq()。感谢您对订购的建议。

标签: android ormlite


【解决方案1】:

对于未来的读者,这是您可以在ormilte 中使用offset() and limit()where() 的方法。

   List<YourDomain> someList = yourDao.queryBuilder().orderBy(COL_CATEGORY, false).offset(start).limit(noOfRows).where().eq(COL_CATEGORY, category).query();

public static final String COL_CATEGORY = "category";

COL_CATEGORY 是表中的列名。

这将从数据库中返回YourDomain 条目列表,从offset(value) 开始,直到limit(value) 的行数。

在旧版本的 ormlite 中,您需要将 int 类型的值传递给 offset(int) and limit(int)。但是在 ormlite 的当前版本 4.48 中,这已被弃用,现在您需要将 Long 类型的值传递给 offset(long) and limit(long)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-03
    相关资源
    最近更新 更多