Room条件语句为空时,查询所有数据

前言 :领带安排,将咱们一款量表app作一款离线版本。由于说医院可能有些地方没有外网,且不想提供量表测试数据。因此我就用room数据库,本身作了本地数据库。java

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

若是name有数据,就按name去查,若是name为空数据,就查所有数据库

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

复制代码

若是是多参数的状况呢,别急往下看。

这里再增长一个sex字段。-1就查所有。markdown

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

但愿对朋友们有帮助。app

相关文章
相关标签/搜索