java - 如何在 greenDAO 中使用 OR 查询?

标签 java android greendao

我有一个查询,例如:

Select * from table where user = 'user1' or city = 'delhi';

我知道如何为单个用户执行此操作,但我不知道如何在以下查询中使用

dao.queryBuilder()
    .where(UserDao.Properties.UserId.eq(userId1))
    .list();

最佳答案

对于版本 3.2.+,以下是使用 Where()WhereOr() 条件组合的示例。以下是选择所有项目的假设查询:

  1. 具有“油漆”、“乳液”标签
  2. 属于特定类别
  3. 排除特定子类别

Where() 方法只接受一个查询条件,WhereOr() 方法可以接受多个查询条件(与 Dao 类中的属性数量一样多) , 以逗号分隔

String catgId = "AB12545";
String excludeSubCatgId = "SAB09990";
DaoSession daoSession = ((App) getApplication()).getDaoSession();

List<Item> = daoSession.getItemDao().queryBuilder()
        .where(ItemDao.Properties.CategoryId.eq(catgId))
        .where(ItemDao.Properties.SubCategory.notEq(excludeSubCatgId))
        .whereOr(ItemDao.Properties.ItemTagCloud.like("%paint%"),
                 ItemDao.Properties.ItemTagCloud.like("%emulsion%"))
        .orderDesc(ItemDao.Properties.ItemPrice)
        .list();

关于java - 如何在 greenDAO 中使用 OR 查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42671461/

相关文章:

java - 配置 Springboot Cloud Config Server - management.security.enabled=false 标志不起作用

java - android 互联网连接可用性

android - GreenDao freemaker.jar 丢失

java - GreenDao 和实体继承

java - 使用 JNI 从 java 调用非静态方法到 c++

Java-如何顺序查找数组中可能未填充的元素的最后一次出现?

java - 生成 JUnit 测试用例

android - 从 url 下载视频文件并限制从应用程序外部下载的文件

php - 如何将数据从 Python 发送到 Android 应用程序

android - Greendao:如何插入 "blob"