Module org.jooq
Package org.jooq.impl

Class DSL

  • Direct Known Subclasses:
    AccessDSL, ASEDSL, CUBRIDDSL, DB2DSL, DerbyDSL, FirebirdDSL, H2DSL, HanaDSL, HSQLDBDSL, InformixDSL, IngresDSL, MariaDBDSL, MySQLDSL, OracleDSL, PostgresDSL, RedshiftDSL, SQLiteDSL, SQLServerDSL, SybaseDSL, VerticaDSL

    public class DSL
    extends Object
    A DSL "entry point" providing implementations to the org.jooq interfaces.

    The DSLContext and this DSL are the main entry point for client code, to access jOOQ classes and functionality. Here, you can instantiate all of those objects that cannot be accessed through other objects. For example, to create a Field representing a constant value, you can write:

     Field<String> field = DSL.val("Hello World")

    Another example is the EXISTS clause, which you can apply to any SELECT to form a Condition:

     Condition condition = DSL.exists(;

    DSL and static imports

    For increased fluency and readability of your jOOQ client code, it is recommended that you static import all methods from the DSL. For example:

     import static org.jooq.impl.DSL.*;
     public class Main {
       public static void main(String[] args) {"Hello"), inline("World"));
         // DSL.val ^^^           ^^^^^^ DSL.inline

    In order to use the "contextual DSL", call one of the various overloaded using(Configuration) methods:

     // Create and immediately execute a SELECT statement:
     DSL.using(connection, dialect)
    Lukas Eder
    See Also: