在Sugar ORM中的SQL条件

时间:2015-06-28 19:09:54

标签: android sqlite sugarorm

我想像这样执行SQL语句:

SELECT * FROM arr1 WHERE name IN ('arg1', 'arg2', 'arg3');
在SugarORM中

,但我不知道如何在这个库中使用IN语句。文档非常适度。我不想使用OR因为args列表可能很长。

2 个答案:

答案 0 :(得分:0)

您可以使用基本的查找方法。假设Arr1是对象模型的名称:

Arr1.find(Arr1.class," name IN(?,?,?) ",param1, param2, param3);

答案 1 :(得分:0)

您可以使用此代码

    public static List<Product> findByIdList(List<String> idList) {
    StringBuffer queryString = new StringBuffer("id IN (");

    for (int i = 0; i < idList.size(); i++) {
        queryString.append("?").append(i == idList.size() - 1 ? ")" : ",");
    }

    List<Product> products = Product.find(Product.class, queryString.toString(), idList.toArray(new String[idList.size()]));
    return products;
}