写点什么

HarmonyOSNext 端云一体化(4)

作者:万少
  • 2025-02-09
    江苏
  • 本文字数:1429 字

    阅读完需:约 5 分钟

HarmonyOSNext 端云一体化(4)

HarmonyOSNext 端云一体化(4)

在上一章节我们讲了数据库数据表的一些基本操作。如 query、upsert、delete 和 calculateQuery。这一章节主要来讲解各种查询条件操作。如 查询班级年龄大于 30 的同学。查询班级内男、女的人数等等。

查询条件解释

谓词,用来代替或者展示其客体性质、特征或者客体之间关系的词项


这些查询条件在端云一体中解释中叫做谓词。云数据库中提供丰富的谓词查询来构建查询条件。根据谓词查询方法构造自己的


DatabaseQuery 对象。

查询条件谓词一览

谓词使用示例

equalTo 查询 id 为 20 的数据

this.condition.equalTo("id", 20) 
复制代码

notEqualTo 查询 id 不等于 20 的数据

this.condition.notEqualTo("id", 20) 
复制代码

beginsWith 查询 name 字段以 b 开头的数据

this.condition.beginsWith("name", "b") 
复制代码

endsWith 查询 name 字段以 k 结尾的数据

this.condition.endsWith("name", "k") 
复制代码

contains 查询 name 字段包含 k 的数据

this.condition.contains("name", "k") 
复制代码

greaterThan 查询 price 字段大于 30 的数据

this.condition.greaterThan("price", 30) 
复制代码

greaterThanOrEqualTo 查询 price 字段大于或者等于 30 的数据

this.condition.greaterThanOrEqualTo("price", 30) 
复制代码

lessThan 查询 price 字段小于 30 的数据

this.condition.lessThan("price", 30) 
复制代码

lessThanOrEqualTo 查询 price 字段小于或者等于 30 的数据

this.condition.lessThanOrEqualTo("price", 30) 
复制代码

in 查询 name 字段包含在["book","aaaa","bbbb"]的中数据

this.condition.in("name", ["book", "aaaa", "bbbb"]) 
复制代码

isNull 查询 name 字段是否为 null

this.condition.isNull("name") 
复制代码

isNotNull 查询 name 字段是否非 null

this.condition.isNotNull("name") 
复制代码

orderByAsc 根据 id,进行升序

this.condition.orderByAsc("id") 
复制代码

orderByDesc 根据 id,进行降序

this.condition.orderByDesc("id") 
复制代码

limit 查询 2 条数据,从第 1 条开始

this.condition.limit(2, 1) 
复制代码

or 逻辑或,查询 name=book 或者 price>30 的数据

this.condition.equalTo("name", "book").or().greaterThan('price', 30) 
复制代码

and 逻辑与,查询 name=book123 并且 price>30 的数据

this.condition.equalTo("name", "book123").and().greaterThan('price', 30) 
复制代码

beginGroup 和 endGroup 表示一对逻辑分组

 // 条件1:   name=book并且price>30
// 条件2: id=20或者price>30
// 需求: 查询 条件1 和 条件2 同时满足的数据 this.condition .beginGroup() .equalTo('name', 30) .and() .greaterThan('price', 30) .endGroup() .and() .beginGroup() .equalTo('id', 20) .or() .greaterThan('price', 30) .endGroup();
复制代码

加强

上面的谓词,也是根据实际语义搭配一起使用。比如:查询 name=book 的前 2 条数据

总结

本章主要介绍了 HarmonyOSNext 端云一体化中的数据库查询条件操作:


  1. 介绍了查询条件中的谓词概念,它用于展示或描述数据的性质、特征或关系

  2. 详细列举了常用的查询谓词,包括:

  3. 比较类:equalTo、notEqualTo、greaterThan、lessThan 等

  4. 字符串匹配:beginsWith、endsWith、contains

  5. 空值判断:isNull、isNotNull

  6. 集合操作:in

  7. 排序限制:orderByAsc、orderByDesc、limit

  8. 逻辑组合:and、or、beginGroup、endGroup

  9. 通过具体示例展示了各种谓词的使用方法,包括基本查询和复杂的组合查询

  10. 说明了谓词可以根据实际需求灵活组合使用,以实现更复杂的查询功能




如果你兴趣想要了解更多的鸿蒙应用开发细节和最新资讯,欢迎在评论区留言或者私信或者看我个人信息,可以加入技术交流群。


发布于: 刚刚阅读数: 4
用户头像

万少

关注

还未添加个人签名 2021-12-02 加入

还未添加个人简介

评论

发布
暂无评论
HarmonyOSNext 端云一体化(4)_HarmonyOS NEXT_万少_InfoQ写作社区