当前位置: 首页 > 面试题库 >

jOOQ addConditions:在SQL中出现问号而不是值

周睿范
2023-03-14
问题内容

我想启动简单的代码:

SelectQuery query = dsl.select(field ("id"), field("title")).from("dict.models").getQuery();
if (modelId > 0) query.addConditions(field("model_id", SQLDataType.INTEGER).equal(modelId));

但不幸的是,getSQL()我只能看到:

select id, title from dict.models where model_id = ?

哪里有错?

谢谢。


问题答案:

Query.getSQL()生成SQL语句,就像让jOOQ执行PreparedStatement带有绑定变量的-
一样。绑定变量可以通过以下方式以正确的顺序提取Query.getBindValues()

如果要将所有绑定值内联到生成的SQL中,则可以通过jOOQ API(所有等效项)使用各种选项:

  • 使用Query.getSQL(ParamType)ParamType.INLINE
  • 使用 dsl.renderInlined(QueryPart)
  • StatementType.STATIC_STATEMENT在您的中使用Settings


 类似资料:
  • 问题内容: 我尝试过将文本与utf8相互转换,这似乎没有帮助。 我越来越: 它应该是: 我从此网址获取此数据。 问题答案: 转换为HTML实体: 有关更多编码选项,请参阅mb_convert_encoding的文档。

  • 我的第一个猜测是,这是一个数据库配置问题,但我已经确认(尽我所知),Postgres确实通过执行以下操作来接受UTF-8: 我还通过手动向数据库中插入一个条目进一步证实了这一点: 从上面可以理解,数据库已经接受了我的值,并且已经成功地将Unicode字符添加到数据库中。 我排除了应用程序的代码,因为它是一个非常大的项目的一部分,并且相关的部分在这里和那里是支离破碎的。但是,我认为它们与问题无关,因

  • 在中有一些使用SQL over Spark Streaming的示例。但是如果我想在中使用SQL: 我犯了这样的错误: [error]/users/raochenlin/downloads/spark-1.2.0-bin-hadoop2.4/logstash/src/main/scala/logstash.scala:52:没有方法转换的类型参数:(transformfunc:org.apache

  • 问题内容: 我只是在网上冲浪,发现了类似以下内容的查询: 这个查询究竟意味着什么,我的意思是什么?在此声明中。 还有一件事是在SQL中使用&。 问题答案: 这通常意味着准备好的语句,以后将在其中填充参数。(请参见例如http://en.wikipedia.org/wiki/Prepared_statements#Parameterized_statements)。

  • 问题内容: 我正在使用postgreSQL。我有一列: 但是,当我想插入带有空字符串的行时,如下所示: 它不会给我错误并接受。如何检查插入值应为?(既不为空也不为空) PS: 我的专栏定义为: 问题答案: 向列定义添加约束。例如类似: 有关更多信息,请参见http://www.postgresql.org/docs/current/static/ddl- constraints.html

  • 问题内容: 如果我忘记了,有时反正还是可行。但有时并非如此。 在JDBC和Android SQLite中,似乎根本不需要。我很迷惑。 我什么时候应该使用分号? 问题答案: 分号表示一条语句的结尾,因此,如果有多个语句,则应使用分号,否则它将正常工作。 我通常使用分号作为练习,即使您在sql客户端上运行查询,例如在Sql Developer中使用分号,如果在工作表上有多个语句,它也很有用,因为您可以