GreenDao 3.0 学习笔记(二)

本文介绍GreenDao中的查询方法,包括普通查询与高级查询技巧。详细解释了QueryBuilder的使用方法及各种条件筛选方式如-id范围查询、字符串匹配等,并介绍了如何通过Session管理缓存来提升查询效率。
摘要由CSDN通过智能技术生成

查询:

普通查询:

QueryBuilder qb = user.queryBuilder();
//id在2025之间的数据
qb.where(qb.and(UserInfoDao.Properties.Id.gt(20),                         UserInfoDao.Properties.Id.lt(25)));
List users = qb.list();

可用的方法:

         - eq():==
         - noteq():!=
         - gt(): >
         - lt():<
         - ge:>=
         - le:<=
         - like():包含
         - between:俩者之间
         - in:在某个值内
         - notIn:不在某个值内



         - limit(int): 限制查询的数量;
         - offset(int): 每次返回的数量; offset不能单独使用;

Session


在同一个session中如果一个entities已经被session记录那么下一次再次操作该实体时,greenDao会先从内存中查找,如果内存中没有再去数据库中查找。这样一方面就极大的提高greenDao的查询效率,另一方面也是需要特别注意的是当entities更新过 greenDao仍然会从内存中取出旧值,所以如果entities更新过,需要去调用daoseesion.clear()方法清除缓存后才能查到最新值,否则查询到的将还是保存在内存中的值。

//清除所所有的缓存
daoSession.clear();
//清除指定Dao类的缓存
projectDao = daoSession.getNoteDao();
projectDao.detachAll();

未完待续……

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

英杰丶

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值