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

时间:2014-11-07 20:23:20

标签: java sql jooq

我想推出简单的代码:

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 = ?

哪里出错?

感谢。

1 个答案:

答案 0 :(得分:6)

Query.getSQL()生成SQL语句,因为如果让jOOQ使用绑定变量执行PreparedStatement,它将生成它。可以通过Query.getBindValues()

以正确的顺序提取绑定变量

如果要将所有绑定值内联到生成的SQL中,您可以通过jOOQ API(所有等价物)获得各种选项: