Android Sugar ORM (3)
Android Sugar ORM 查詢
我們在此之前介紹了一些關於Sugar ORM
的簡單操作, 現在我們就查詢來具體說一下
Sugar ORM
中的find()
方法
我們在此介紹了一個方法: findAll()
, 它返回的是Iterator<T>
類型, 就是我們所說的迭代器, 有很多方便的地方, 也有很多不方便的地方, 當然還有findById()
方法, 根據id
來找我們的數據, 相對來說也是不夠用的, 這時候就需要我們現在所講的find()
方法了
find()
方法的使用方式是向該方法中傳遞where
子句和參數。它遵循與SQLite
數據庫查詢方法相同的約定。
Note.find(Note.class, "name = ? and title = ?", "Satya", "title1");
如果你有其他條件,如按分組、按順序排序或限制,則可以在域實體上使用以下方法:
Entity.find(Class<T> 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<Note> 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();