gpt4 book ai didi

orm - 查询生成器 dbflow 条件查询

转载 作者:行者123 更新时间:2023-12-02 09:24:05 24 4
gpt4 key购买 nike

如何根据特定条件构建查询。

我尝试这样做

QueryBuilder builder = SQlite.Select().from(Table)
if(condition) {
builder.where(something)
}
Cursor c = builder.query;

但这是不允许的。

我必须根据我在首选项中保存的条件查询我的数据库。我用谷歌搜索并在文档中到处搜索,但找不到一个例子。 dbflow 中是否存在此功能,如果是,那么如果没有,任何其他 orm(如 greenDAO)是否具有此功能

最佳答案

可以在 DBFlow 中创建条件查询。要查询表的列,您必须将 _Table 附加到类名中,然后访问其属性。这些_Table类是在构建时生成的。

最简单的查询是这个:

SQLite.select()
.from(YourTable.class)
.where(YourTable_Table.id.eq(someId)
.queryList();

您还可以在查询中使用 .and.or 添加新条件:

SQLite.select()
.from(YourTable.class)
.where(YourTable_Table.id.eq(someId)
.and(YourTable_Table.name.eq(someName)
.queryList();

为了使代码更简洁,您还可以将条件分组为条件组,如下所示:

ConditionGroup conditionGroup = ConditionGroup.clause();
conditionGroup.and(YourTable_Table.id.eq(someId);

if (someCondition) {
conditionGroup.and(YourTable_Table.name.eq(someName);
}

return SQLite.select()
.from(YourTable.class)
.where(conditionGroup)
.queryList();

关于orm - 查询生成器 dbflow 条件查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39323389/

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