可用版本:Dev (3.21) | 最新 (3.20) | 3.19 | 3.18 | 3.17 | 3.16 | 3.15 | 3.14 | 3.13 | 3.12 | 3.11

如何阅读本手册

适用于 ✅ 开源版   ✅ 专业版   ✅ 企业版

本节帮助您在 jOOQ 的上下文中正确理解本手册。

代码块

以下是代码块

-- A SQL code block
SELECT 1 FROM DUAL
// A Java code block
for (int i = 0; i < 10; i++);
<!-- An XML code block -->
<hello what="world"></hello>
# A config file code block
org.jooq.property=value

这些对于提供代码示例很有用。通常,对于 jOOQ,将 SQL 代码与其对应的 Java/jOOQ 代码进行比较甚至更有用。 完成此操作后,代码块会并排对齐,SQL 通常在左侧,等效的 Java 中的 jOOQ DSL 查询通常在右侧

-- In SQL:
SELECT 1 FROM DUAL
// Using jOOQ:
create.selectOne().fetch()

代码块内容

代码块的内容也遵循约定。 如果在任何给定的代码块旁边没有提及其他内容,则可以假定以下内容

-- SQL assumptions
------------------

-- If nothing else is specified, assume that the Oracle syntax is used
SELECT 1 FROM DUAL
// Java assumptions
// ----------------

// Whenever you see "standalone functions", assume they were static imported from org.jooq.impl.DSL
// "DSL" is the entry point of the static query DSL
exists(); max(); min(); val(); inline(); // correspond to DSL.exists(); DSL.max(); DSL.min(); etc...

// Whenever you see BOOK/Book, AUTHOR/Author and similar entities, assume they were (static) imported from the generated schema
BOOK.TITLE, AUTHOR.LAST_NAME // com.example.generated.Tables.BOOK.TITLE, com.example.generated.Tables.AUTHOR.LAST_NAME
FK_BOOK_AUTHOR               // com.example.generated.Keys.FK_BOOK_AUTHOR

// Whenever you see "create" being used in Java code, assume that this is an instance of org.jooq.DSLContext.
// The reason why it is called "create" is the fact, that a jOOQ QueryPart is being created from the DSL object.
// "create" is thus the entry point of the non-static query DSL
DSLContext create = DSL.using(connection, SQLDialect.ORACLE);

当然,您的命名可能有所不同。 例如,您可以将“create”实例命名为“db”。

执行

当您编写 PL/SQL、T-SQL 或其他过程式 SQL 语言时,SQL 语句始终在分号处立即执行。 这在 jOOQ 中并非如此,因为作为内部 DSL,jOOQ 永远无法确定您的语句是否完成,除非您调用 fetch()execute()。 本手册尝试尽可能彻底地应用 fetch()execute()。 如果没有,则表示隐含。

SELECT 1 FROM DUAL
UPDATE t SET v = 1
create.selectOne().fetch();
create.update(T).set(T.V, 1).execute();

度数(元数)

jOOQ 记录(和许多其他 API 元素)的度数 N 介于 1 和 22 之间。API 元素的可变度数表示为 [N],例如 Row[N] 或 Record[N]。 “degree”一词优于元数,因为“degree”是 SQL 标准中使用的术语,而“arity”更常用于数学和关系理论。

设置

jOOQ 允许使用 org.jooq.conf.Settings 覆盖运行时行为。 如果未指定任何内容,则假定为默认运行时设置。

示例数据库

jOOQ 查询示例针对示例数据库运行。 请参阅本手册关于 本手册中使用的示例数据库 的部分,以了解有关示例数据库的更多信息。

引用此页

反馈

您对此页面有任何反馈吗? 我们很乐意听到您的声音!

The jOOQ Logo