我正在尝试使用jOOQ构建查询,这是我的测试代码:
DSLContext create = DSL.using(SQLDialect.DERBY);
String query = create.select().from(TABLE).limit(1).offset(0).getSQL()
我得到as query:
select field1, field2...fieldN etc from TABLE offset ? rows fetch next ? rows only
问题是? rows fetch next ? rows only
中的?
,它似乎忽略了我在限制和偏移中使用的值来构建查询,为什么?
我正在尝试从结果中选择第一行,我使用jooq 3.4.1
Thanks for the help
Query.getSQL()
返回您的SQL字符串与?
作为您的绑定变量占位符。这个想法是,您可以将此语句提供给PreparedStatement
,然后显式绑定所有变量,这些变量可以通过Query.getBindValues()
获得。
你也可以让jOOQ内联你所有的绑定变量,通过调用Query.getSQL(ParamType)
:
String sql = query.getSQL(ParamType.INLINED);