如何根据条件从 GreenDao 中删除行?

how to delete rows from GreenDao based on condition?

我想根据条件从 table 中删除行。喜欢

"delete from Table where Name='Value'"

这里我使用的是greenDAO数据库

1 检查 documentation.

2 为您的 Table

创建一个 DeleteQuery

3 执行它

4 清空session,让所有缓存也丢失删除的对象。

final DeleteQuery<Table> tableDeleteQuery = daoSession.queryBuilder(Table.class)
.where(TableDao.Properties.Name.eq("Value"))
.buildDelete();
tableDeleteQuery.executeDeleteWithoutDetachingEntities();
daoSession.clear();

如果需要多次执行查询,请保存查询对象以避免重新实例化它。

顺便说一句,greenDAO 是一个 ORM,而不是一个数据库(这里是 SQLite)。