美化SQL打印
适用于 ✅ 开源版 ✅ 专业版 ✅ 企业版
您知道可以使用我们的转换器在 https://jooq.org.cn/translate 上美化打印任意 SQL 吗?
正如前一章关于 SQL 渲染 中提到的,org.jooq.RenderContext
中有一些元素用于格式化/美化打印渲染的 SQL。 为了获得美化打印的 SQL,只需使用以下自定义设置
// Create a DSLContext that will render "formatted" SQL DSLContext pretty = DSL.using(dialect, new Settings().withRenderFormatted(true));
然后,使用上面的 DSLContext 来渲染美化打印的 SQL
select "TEST"."AUTHOR"."LAST_NAME", count(*) "c" from "TEST"."BOOK" join "TEST"."AUTHOR" on "TEST"."BOOK"."AUTHOR_ID" = "TEST"."AUTHOR"."ID" where "TEST"."BOOK"."TITLE" <> '1984' group by "TEST"."AUTHOR"."LAST_NAME" having count(*) = 2
String sql = pretty.select( AUTHOR.LAST_NAME, count().as("c")) .from(BOOK) .join(AUTHOR) .on(BOOK.AUTHOR_ID.eq(AUTHOR.ID)) .where(BOOK.TITLE.ne("1984")) .groupBy(AUTHOR.LAST_NAME) .having(count().eq(2)) .getSQL();
关于 ExecuteListeners 的章节展示了一个例子,说明如何使用这种美化打印将可读的 SQL 记录到 stdout。
反馈
您对此页面有任何反馈吗? 我们很乐意听取您的意见!