gpt4 book ai didi

android - ORMLite - 返回带有最大 ID(或值)的项目

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

我在 Android 上使用 ORMLite。我想获取具有最高值 ID 的对象的 ID 值。

我还想将其概括为为任意字段请求具有最大/最小值的单个对象。这样做的最佳做法是什么?

我知道我可以执行一个原始查询,但有没有其他方法可以让任何人跳出来?在 iOS 上的 CoreData 中执行 FetchRequests 时,我正在想象类似于 Predicates 的东西。

最佳答案

@Ben 你的回答看起来不错,但我想我会为后代提供一些额外的信息:

  1. 如果您知道您的limit(1) 将返回一个结果,您可以使用queryForFirst

    qBuilder.orderby("my_field_column_name", false);
    qBuilder.limit(1L);
    MyEntity maxEntity = myEntityDao.queryForFirst(qBuilder.prepare());
  2. 原始查询也可以。它涉及更多的对象和检查,但如果表很大,会更便宜,因为您不需要进行排序。

    qBuilder.selectRaw("MAX(my_field_column_name)");
    GenericRawResults<String[]> results =
    myEntityDao.queryRaw(qBuilder.prepareStatementString());
    String[] result = results.getResults().next();
    int max = Integer.parseInt(result[0]);

显然,如果您的列是不同的类型,那么您将从 result[0] 中得到一个不同的对象,您必须根据对象将其转换为适当的类型。

关于android - ORMLite - 返回带有最大 ID(或值)的项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8970221/

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