GreenDao之条件查询

1.eq 和 noteq 和 like 查询

eq 相等
noteq 不相等
like 模糊搜索

2. >、<、>=、<= 查询

我们看一下使用“>”查找的代码:
private void queryGt() {
List mingGt = sonDao.queryBuilder().where(SonDao.Properties.Age.gt(18)).list();
Log.d(“mingGt”, “queryGt() called” + mingGt);
}
通过logcat我们可以看到我们搜索的是年龄大于18的数据
这是因为我们调用了gt方法,gt方法就是实现的“>”的条件查询
其实标题中的四种条件对应的就是四个方法

  1. ">" :gt
  2. "<" :It
  3. ">=" :ge
  4. "<=" : le

3.isNull 和 isNotNull 查询

这两个查询就是查询数据库中有无数据的
使用方法与上文的查询方法类似,大家可以自己体验一下!

4.排序

首先我们实现数据的升序排列,我们封装了一个queryAsc的方法:
private void queryAsc() {
List data0 = sonDao.queryBuilder().orderAsc(SonDao.Properties.Age).list();
Log.d(“data0”,”queryAsc() called”+data0);
我们通过orderAsc方法就轻松实现了数据的升序排列!

降序排列呢,我们可以将orderAsc方法替换为orderDesc就可以实现了!

5.多线程查询

当我们的数据库非常庞大的时候
我们知道在主线程中查询数据时非常耗时的
所以我们这需要把查询放到子线程中
greenDao 提供了forCurrentThread方法
我们可以这样:

private void queryThread() {
  final Query query = sonDao.queryBuilder().build();
    new Thread(){
        @Override
        public void run() {
            List list = query.forCurrentThread().list();
            Log.d("queryThread", "run() called" + list);
        }
    }.start();
}

你可能感兴趣的:(GreenDao之条件查询)