怎么能看到jOOQ执行的SQL语句?

时间:2012-06-14 03:21:02

标签: java sql jooq

我使用jOOQ从/向表中查询/插入/更新数据。

有没有办法查看JOOQ执行的SQL语句?

2 个答案:

答案 0 :(得分:3)

jOOQ博客上有一篇博客文章,描述了如何调试生成的SQL:

http://blog.jooq.org/2011/10/20/debug-logging-sql-with-jooq/

注意,这也是在Stack Overflow这个问题上处理的:

How can we profile JOOQ statements for speed

答案 1 :(得分:3)

查找您的日志配置文件(或创建一个)并将类org.jooq.tools.LoggerListener的日志级别设置为debugtrace,例如进入log4j.properties

在Spring中,您可以通过这种方式将日志级别DEBUG设置为application.properties

logging.level.org.jooq.tools.LoggerListener=DEBUG

对于以下查询

create.select(BOOK.ID, BOOK.TITLE).from(BOOK).orderBy(BOOK.ID).limit(1, 2).fetch();

你应该得到像

这样的日志
Executing query          : select "BOOK"."ID", "BOOK"."TITLE" from "BOOK" order by "BOOK"."ID" asc limit ? offset ?
-> with bind values      : select "BOOK"."ID", "BOOK"."TITLE" from "BOOK" order by "BOOK"."ID" asc limit 2 offset 1