green dao 如何对四个属性使用一个查询
green dao how to use one query for four properties
我正在尝试用 green dao 编写查询,但无法弄清楚如何表达我想说的内容,
我有 3 个属性,我将查询集中在 CardIconType、Type_of_word 和 Type_of_type(糟糕的命名约定,但请不要关注这个)
我想要 return 的是 CardIconType 的所有项目 "ORIGINAL" 和 CardIconType 的所有项目 "USER" 但前提是 Type_of_type 是 "PRONOUN" 并且Type_of_word 是 "QUICKS"
我尝试了什么
到目前为止我试过这个
qb.where(addNewCardDao.Properties.CardIconType.eq("ORIGINAL"),
qb.and(addNewCardDao.Properties.Type_of_type.eq("PRONOUNS"),
addNewCardDao.Properties.Type_of_word.eq("QUICKS")));
leaseList = qb.list();
它解决了我一半的问题,它 return 是 "ORIGINAL" 的所有对象,其中 Type_of_type 是代词,Type_of_word 是 "QUICKS" 而我的首先想到的是为 USER 再次执行此操作并加入列表,但我认为这不是最好的方法所以我尝试了这个
qb.where(addNewCardDao.Properties.CardIconType.eq("SIMPLE"),
qb.or(addNewCardDao.Properties.CardIconType.gt("USER"),
qb.and(addNewCardDao.Properties.Type_of_type.eq("PRONOUNS"),
addNewCardDao.Properties.Type_of_word.ge("QUICKS"))));
leaseList = qb.list();
但是没有人能帮我解决这个问题
使用 QueryBuilder.in()
方法在一个 属性 中查找多个值。
String[] strings = {"ORIGINAL", "USER"};
qb.where(addNewCardDao.Properties.CardIconType.in(strings),
然后添加额外限制:
qb.and(addNewCardDao.Properties.Type_of_type.eq("PRONOUNS"),
addNewCardDao.Properties.Type_of_word.eq("QUICKS")));
然后列出它:
leaseList = qb.list();
我正在尝试用 green dao 编写查询,但无法弄清楚如何表达我想说的内容, 我有 3 个属性,我将查询集中在 CardIconType、Type_of_word 和 Type_of_type(糟糕的命名约定,但请不要关注这个) 我想要 return 的是 CardIconType 的所有项目 "ORIGINAL" 和 CardIconType 的所有项目 "USER" 但前提是 Type_of_type 是 "PRONOUN" 并且Type_of_word 是 "QUICKS"
我尝试了什么
到目前为止我试过这个
qb.where(addNewCardDao.Properties.CardIconType.eq("ORIGINAL"),
qb.and(addNewCardDao.Properties.Type_of_type.eq("PRONOUNS"),
addNewCardDao.Properties.Type_of_word.eq("QUICKS")));
leaseList = qb.list();
它解决了我一半的问题,它 return 是 "ORIGINAL" 的所有对象,其中 Type_of_type 是代词,Type_of_word 是 "QUICKS" 而我的首先想到的是为 USER 再次执行此操作并加入列表,但我认为这不是最好的方法所以我尝试了这个
qb.where(addNewCardDao.Properties.CardIconType.eq("SIMPLE"),
qb.or(addNewCardDao.Properties.CardIconType.gt("USER"),
qb.and(addNewCardDao.Properties.Type_of_type.eq("PRONOUNS"),
addNewCardDao.Properties.Type_of_word.ge("QUICKS"))));
leaseList = qb.list();
但是没有人能帮我解决这个问题
使用 QueryBuilder.in()
方法在一个 属性 中查找多个值。
String[] strings = {"ORIGINAL", "USER"};
qb.where(addNewCardDao.Properties.CardIconType.in(strings),
然后添加额外限制:
qb.and(addNewCardDao.Properties.Type_of_type.eq("PRONOUNS"),
addNewCardDao.Properties.Type_of_word.eq("QUICKS")));
然后列出它:
leaseList = qb.list();