Room条件语句为空时,查询全部数据

前言 :领带安排,将我们一款量表app做一款离线版本。因为说医院可能有些地方没有外网,且不想提供量表测试数据。所以我就用room数据库,自己做了本地数据库。

问题:当我遇到多条件筛选时,因为Room的查询语句是提前写在Dao里的。如何写呢?上干货

如果name有数据,就按name去查,如果name为空数据,就查全部


@Query("SELECT * FROM PeopleBean WHERE :name='' or name= :name")
Single<List<PeopleBean>> getAllTest(String name);

复制代码

如果是多参数的情况呢,别急往下看。

这里再增加一个sex字段。-1就查全部。

@Query("SELECT * FROM PeopleBean WHERE (:name='' or name=:name) and (:sex =-1 or sex=:sex)")
Single<List<PeopleBean>> getAll(String name, int sex);
复制代码

希望对朋友们有帮助。

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享