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

jOOQ 作为 SQL 执行器

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

除了前几章提到的任何工具外,您还可以直接使用 jOOQ 执行您 jOOQ 生成的 SQL 语句。当您可以重用来自生成类的信息来获取记录和自定义数据类型时,这将在前文中讨论的类型安全 SQL 构建 API 之上增加很多便利。这里给出一个例子

// Typesafely execute the SQL statement directly with jOOQ
Result<Record3<String, String, String>> result =
create.select(BOOK.TITLE, AUTHOR.FIRST_NAME, AUTHOR.LAST_NAME)
      .from(BOOK)
      .join(AUTHOR)
      .on(BOOK.AUTHOR_ID.eq(AUTHOR.ID))
      .where(BOOK.PUBLISHED_IN.eq(1948))
      .fetch();

通过让 jOOQ 执行您的 SQL,jOOQ 查询 DSL 真正成为嵌入式 SQL。

jOOQ 不止于此!您可以使用 jOOQ 执行任何 SQL。换句话说,您可以使用任何其他 SQL 构建工具,并使用 jOOQ 运行 SQL 语句。这里给出一个例子

// Use your favourite tool to construct SQL strings:
String sql = "SELECT title, first_name, last_name FROM book JOIN author ON book.author_id = author.id " +
             "WHERE book.published_in = 1984";

// Fetch results using jOOQ
Result<Record> result = create.fetch(sql);

// Or execute that SQL with JDBC, fetching the ResultSet with jOOQ:
ResultSet rs = connection.createStatement().executeQuery(sql);
Result<Record> result = create.fetch(rs);

如果您希望将 jOOQ 用作带有(或不带)代码生成的 SQL 执行器,那么手册的以下章节会对您有所帮助

  • SQL 构建:本节包含大量关于使用 jOOQ API 创建 SQL 语句的信息
  • 代码生成:本节包含针对您的开发人员数据库运行 jOOQ 代码生成器所需的必要信息
  • SQL 执行:本节包含大量关于使用 jOOQ API 执行 SQL 语句的信息
  • 获取:本节包含一些关于使用 jOOQ 获取数据的各种方式的有用信息

反馈

您对此页面有任何反馈吗? 我们很乐意倾听!

The jOOQ Logo