【发布时间】:2012-11-21 18:47:06
【问题描述】:
我已经将 jooq 与 spring 集成,对于所有类型的数据库查询(MySQL),我使用的是 spring 的 JDBC 模板。这里使用jooq库来生成sql查询传递给jdbc模板。
尽管我的其余查询工作正常,直到我向查询添加限制和/或偏移量。
我正在生成如下查询:
create.select(Factory.field("table_name"))
.from("tables t")
.where("t.table_schema LIKE '" + schemaName + "'")
.limit(10)
.offset(2)
.getSQL();
我收到如下错误:
org.springframework.jdbc.BadSqlGrammarException: StatementCallback; 错误的 SQL 语法 [select table_name from tables t where (t.table_schema LIKE'测试')限制?抵消 ?];嵌套异常是 com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: 你有一个 SQL 语法错误;检查与您对应的手册 MySQL 服务器版本,以便在 '? 附近使用正确的语法抵消 ?'在 第 1 行
这清楚地表明传递给 limit 和 offset 方法的值不会附加到查询中。
我搜索了文档,但没有找到任何其他方法来实现这一点。
【问题讨论】:
标签: java spring jdbctemplate jooq bind-variables