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();
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 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语句:使用策略模式优化代码结构