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方法就是实现的“>”的条件查询
其实标题中的四种条件对应的就是四个方法
- ">" :gt
- "<" :It
- ">=" :ge
- "<=" : 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();
}