如何在查询注释中从房间数据库中的变量执行查询

How to execute query from variable in Room Database in Query Anotation

1.Here是我的MessageDaointerface

 @Dao public interface MessageDao {
            @Query(Constants.QUERY.query)
            List<Message> getAllMessages();
    }

2.From Activity 我想通过整个查询来获取消息。

String query = "select message from message where "+ whereLike + "group by message.messageId";

如何在查询注释中执行 query 变量。

@Dao public interface MyDao {
@Query("SELECT * FROM user WHERE age BETWEEN :minAge AND      :maxAge")
public User[] loadAllUsersBetweenAges(int minAge, int maxAge);

@Query("SELECT * FROM user WHERE first_name LIKE :search "
       + "OR last_name LIKE :search")
public List<User> findUserWithName(String search);}

上述查询中的值以冒号为前缀,这意味着这些值将作为与查询关联的方法的参数提供给查询。 Room 将查询中的这些值按名称映射到方法中传递的参数。而且,如果 Room 无法在方法中找到匹配的命名参数,则会抛出编译时错误。