如何使用greendao进行与条件复合查询
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何使用greendao进行与条件复合查询相关的知识,希望对你有一定的参考价值。
参考技术A public class DaoHelper /** * 按照LastName顺序排序 * @param firstname * @return */ public static List select(String firstname) returnuserDao.queryBuilder() .where(Properties.FirstName.eq(firstname)) .orderAsc(Properties.Last. 参考技术B 看了官方文档及源码,下面给出答案:Query<User> query = userDao.queryBuilder().where(
Properties.FirstName.eq("Joe"), Properties.YearOfBirth.eq(1970)
).build();
where 方法在greenDao中有重载, 第二个参数是WhereCondition... 类型, 也就是说多个where条件只需要用逗号分开就行了
tp3.2 复合查询
复合查询相当于封装了一个查询条件,然后并入原来的查询条件之中 比如 or 与 and 都需要的场景下
$where[‘title‘] = array(‘like‘, ‘%默认名称%‘); $where[‘title‘] = array(‘like‘,‘%thinkphp%‘); $where[‘_logic‘] = ‘OR‘; $map[‘_complex‘] = $where; // $map[‘type‘] = array(‘EQ‘,1);
生成条件是
( type = 1) AND ( ( title like ‘%默认名称%‘) OR ( title like ‘%thinkphp%‘) )
另一种写法
$where[‘type‘] = array(‘EQ‘,1); $where[‘_string‘] = ‘ (title like "%默认名称%") OR ( title like "%thinkphp") ‘;
结果同上
注意: tp3里 在写多where时 字符串条件只能写一个 ; 要结合数组格式条件;
以上是关于如何使用greendao进行与条件复合查询的主要内容,如果未能解决你的问题,请参考以下文章
oracle中如何只查询一条复合条件的记录,即查到一条记录就返回
oracle中如何只查询一条复合条件的记录,即查到一条记录就返回
oracle中如何只查询一条复合条件的记录,即查到一条记录就返回?