当前位置: 首页 > 知识库问答 >
问题:

传入字符串作为Room查询的一部分使用

胡夕
2023-03-14

为什么这在房间里不起作用?:

val dataSourceFactory =
    database.gameDao.getGames("Game.platforms LIKE '%XONE%'")

@Query("SELECT * FROM Game WHERE :likeClause")
fun getGames(likeClause: String): DataSource.Factory<Int, Game>

但这是真的吗

@Query("SELECT * FROM Game WHERE Game.platforms LIKE '%XONE%'")
fun getGames(): DataSource.Factory<Int, Game>

有没有办法传入可以作为查询一部分的字符串?

编辑:我知道这不是形成单个LIKE子句的正确方法,但实际上我正在尝试传递多个LIKE子句。所以我想要一种直接向查询中注入文本的方法,但Room似乎不希望我这么做。

共有1个答案

越心水
2023-03-14

你说的是动态SQL,我认为这在room中是不可能的。有效的方法是

@Query("SELECT * FROM Game WHERE Game.platforms LIKE :likeClause1 AND Game.publisher LIKE :likeClause2")
fun getGames(likeClause1: String, likeClause2: String): DataSource.Factory<Int, Game>

您可以根据需要使用ANDOR,如果您想忽略其中一个类似的子句,只需传递一个空字符串

 类似资料:
  • 我必须在Spring引导中编写一个相当于下面查询的JPQL查询。 查询: 我进行的JPQL查询: 查询不工作,出现以下异常: 有人能告诉我我的代码有什么问题吗?

  • 我试图使用查询字符串实现Codeigniter分页,但遇到了一些问题。我已经打开了 因此,使用查询字符串进行分页,但就我所知,当您使用查询字符串进行控制器和方法路由时,这确实是为了工作。然而,在我的情况下,我仍然使用URI段进行路由,但只是想使用查询字符串进行分页、过滤结果、搜索等。当我尝试使用http_build_query()重建的url与查询字符串发送通过它导致per_page(我已重命名为

  • 问题内容: Java专家能否请您帮我写以下查询作为SQL查询条件查询的一部分。 问题答案: 您需要编写一个相关的子查询。假设属性/类名称与上面的列/表名称匹配:

  • 我正在创建一个程序,它可以决定用户的移动方向是否是顺时针方向(N,E,S,W)。 例如,我有变量: UsersDirection不是顺时针方向,因为它必须是“sw”,就像在correctdirection。我不知道如何比较这两个字符串,我甚至不知道如何开始。

  • 我有一个由字符串表示的查询: 这里的问题是,我实际上是在执行两个查询。这就引入了开销。 是否可以将string-query作为真正的子查询执行?不知何故,我必须将字符串查询转换为实例(我猜),但我找不到如何做到这一点。

  • 问题内容: 有没有人知道我可以用来操纵查询字符串的java类? 本质上,我想要一个可以简单地给查询字符串提供一个类,然后删除,添加和修改查询字符串KVP的类。 提前致谢。 编辑 为了回应对此问题的评论,查询字符串将如下所示; 所以我想向这个类传递查询字符串,并说类似的东西; 然后也许 有可能 或类似的东西。 问题答案: 像这样 要简单地迭代地图: