您可以在 DBFlow 中创建条件查询。要查询表的列,您必须附加_Table
到您的类名,然后访问其属性。这些_Table
类是在构建时生成的。
最简单的查询是这个:
SQLite.select()
.from(YourTable.class)
.where(YourTable_Table.id.eq(someId)
.queryList();
您还可以在查询中使用.and
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();