Android SugarORM(3)

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();
posted @   胖纸不争  阅读(308)  评论(0编辑  收藏  举报
编辑推荐:
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
点击右上角即可分享
微信分享提示