Android GreenDao框架使用 进阶篇之queryBuilder

参考

官方文档

Github

系列

Android GreenDao框架使用 基础篇
Android GreenDao框架使用 增删改查篇

queryBuilder的用法可以通过链式指令来执行,比如

testUserDao.queryBuilder().xx.xx.xx.结束指令。

关于结束指令,如下图

方法解释
.list()查询符合条件的数据
.buildDelete().executeDeleteWithoutDetachingEntities()删除符合条件的数据
.count()查询符合条件的个数

当然不止这些,这些是比较常见的。

关于条件查询,GreenDao提供了很多方法

方法解释
where查询条件(where里的条件必须全部符合)
whereOr查询条件(where里的条件有符合就可以)
offset忽略查询出的前n条结果
orderAsc升序排列
orderDesc降序排列

下面是条件查询里面的方法

方法条件
eq==
notEq!=
like模糊查询
between两个值的区间
in范围区间
notIn不在范围区间
gt>
lt<
ge>=
le<=
isNull为空
isNotNull不为空

例子

 testUserDao.queryBuilder().where(TestUserDao.Properties.Name.eq(name),TestUserDao.Properties.Age.eq(12)).list();
 testUserDao.queryBuilder().whereOr(TestUserDao.Properties.Name.eq(name),TestUserDao.Properties.Age.eq(12)).list();

无论是where还是whereOr里面的判断语句都可以是一条或多条,区别在于where里是 “ 且 ” 的关系,而whereOr是 “ 或 ”的关系。

 QueryBuilder<TestUser> qb = testUserDao.queryBuilder();
 List<TestUser> testUsers = qb.where(qb.and(TestUserDao.Properties.Name.eq(name),TestUserDao.Properties.Age.eq(12))).list();
 QueryBuilder<TestUser> qb = testUserDao.queryBuilder();
 List<TestUser> testUsers = qb.where(TestUserDao.Properties.Name.eq(name),qb.or(TestUserDao.Properties.Age.eq(12),TestUserDao.Properties.Age.eq(15))).list();

同时where和whereOr里面还可以写复杂语句,这样就可以实现多条件嵌套查询。

  • 2
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值