java - jOOQ - 方法调用

标签 java sql methods invoke jooq

我对在以下示例 jOOQ 语句中调用方法 count() 有疑问:

create.select(AUTHOR.FIRST_NAME, AUTHOR.LAST_NAME, count())
      .from(AUTHOR)
      .join(BOOK).on(AUTHOR.ID.equal(BOOK.AUTHOR_ID))
      .where(BOOK.LANGUAGE.eq("DE"))
      .and(BOOK.PUBLISHED.gt(date("2008-01-01")))
      .groupBy(AUTHOR.FIRST_NAME, AUTHOR.LAST_NAME)
      .having(count().gt(5))
      .orderBy(AUTHOR.LAST_NAME.asc().nullsFirst())
      .limit(2)
      .offset(1)
      .forUpdate()
      .of(AUTHOR.FIRST_NAME, AUTHOR.LAST_NAME)

我曾尝试创建这样的机制来调用方法而不使用对象/类引用,但我已经放弃了。真的可以实现吗?

感谢您的帮助。

维西亚

最佳答案

坚持住! :-)

您引用了网站上的第一个示例。我建议遵循 manual's section about how to read the manual (我知道,这听起来像是我在 RTFM'ing 你。很抱歉),你会在那里找到一些解释,例如

// 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...

tutorial还展示了如何做到这一点,即使用静态导入:

// For convenience, always static import your generated tables and
// jOOQ functions to decrease verbosity:
import static test.generated.Tables.*;
import static org.jooq.impl.DSL.*;

请注意,有一个待处理的功能请求 #3503改进手册和带有工具提示的网站,以便向新用户解释这些事情,一旦您掌握了 jOOQ,这将很快成为普遍做法。

关于java - jOOQ - 方法调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25542514/

相关文章:

java - Servlet 错误 HTTP 状态 404 – 未找到 Java Tomcat

java - java中的按钮不执行操作

mysql - SQL:这个 "where if"查询有什么问题?

mysql - 对于每一行进行更新

javascript - 为什么调用内部函数而不是方法?

javascript - 无法调用未定义的方法但警报(方法)仍在工作

java - 使用 Dagger 2 时,我应该将库初始化移动到哪里?

java - 在Java中访问HDFS文件系统的异常

sql - 如何在 Visual Studio 2008 中将 SQL Server 2008 R2 Express Advanced 和 With Tools 版本作为 ClickOnce 先决条件

ios - 几个UIPickerView