如何在查询注释中从房间数据库中的变量执行查询
How to execute query from variable in Room Database in Query Anotation
1.Here是我的MessageDao
interface
@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 无法在方法中找到匹配的命名参数,则会抛出编译时错误。
1.Here是我的MessageDao
interface
@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 无法在方法中找到匹配的命名参数,则会抛出编译时错误。