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的數(shù)據(jù)
這是因?yàn)槲覀冋{(diào)用了gt方法,gt方法就是實(shí)現(xiàn)的“>”的條件查詢
其實(shí)標(biāo)題中的四種條件對(duì)應(yīng)的就是四個(gè)方法

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

3.isNull 和 isNotNull 查詢

這兩個(gè)查詢就是查詢數(shù)據(jù)庫(kù)中有無數(shù)據(jù)的
使用方法與上文的查詢方法類似,大家可以自己體驗(yàn)一下!

4.排序

首先我們實(shí)現(xiàn)數(shù)據(jù)的升序排列,我們封裝了一個(gè)queryAsc的方法:
private void queryAsc() {
List data0 = sonDao.queryBuilder().orderAsc(SonDao.Properties.Age).list();
Log.d(“data0”,”queryAsc() called”+data0);
我們通過orderAsc方法就輕松實(shí)現(xiàn)了數(shù)據(jù)的升序排列!

降序排列呢,我們可以將orderAsc方法替換為orderDesc就可以實(shí)現(xiàn)了!

5.多線程查詢

當(dāng)我們的數(shù)據(jù)庫(kù)非常龐大的時(shí)候
我們知道在主線程中查詢數(shù)據(jù)時(shí)非常耗時(shí)的
所以我們這需要把查詢放到子線程中
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();
}
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容