Android Sugar ORM (3)
Android Sugar ORM 查询
我们在此之前介绍了一些关于Sugar ORM
的简单操作, 现在我们就查询来具体说一下
Sugar ORM
中的find()
方法
我们在此介绍了一个方法: findAll()
, 它返回的是Iterator
类型, 就是我们所说的迭代器, 有很多方便的地方, 也有很多不方便的地方, 当然还有findById()
方法, 根据id
来找我们的数据, 相对来说也是不够用的, 这时候就需要我们现在所讲的find()
方法了
find()
方法的使用方式是向该方法中传递where
子句和参数。它遵循与SQLite
数据库查询方法相同的约定。
Note.find(Note.class, "name = ? and title = ?", "Satya", "title1");
如果你有其他条件,如按分组、按顺序排序或限制,则可以在域实体上使用以下方法:
Entity.find(Class type, String whereClause, String[] whereArgs, String groupBy, String orderBy, String limit)
当然你也可以自定义查询语句, 也就是使用原生的SQL语句来操作
// Could execute other raw queries too here..
Note.executeQuery("VACUUM");
// for finders using raw query.
List notes = Note.findWithQuery(Note.class, "Select * from Note where name = ?", "satya");
使用查询生成器方法
Select.from(TestRecord.class)
.where(Condition
.prop("test")
.eq("satya"),
Condition.prop("prop")
.eq(2))
.list();