如何看到jOOQ执行的SQL语句?

use*_*204 5 java sql jooq

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

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

Mau*_*sco 8

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

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

logging.level.org.jooq.tools.LoggerListener=DEBUG
Run Code Online (Sandbox Code Playgroud)

对于以下查询

create.select(BOOK.ID, BOOK.TITLE).from(BOOK).orderBy(BOOK.ID).limit(1, 2).fetch();
Run Code Online (Sandbox Code Playgroud)

你应该得到一个类似的日志

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
Run Code Online (Sandbox Code Playgroud)


Luk*_*der 7

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

https://blog.jooq.org/debug-logging-sql-with-jooq/

请注意,这里的 Stack Overflow 问题也对此进行了处理:

我们如何分析 JOOQ 语句的速度