[JAVA] Ich habe versucht, JOOQ mit Gradle zu verwenden

Ich habe versucht, JOOQ mit Gradle zu verwenden

Hinweis: Dieser Artikel erinnert an die Verwendung von JOOQ in Tomcat (JavaEE) der IntelliJ Community (kostenlose Version). Unter dem folgenden Link wird erläutert, wie Sie mit Gradle mit IntelliJ eine Tomcat-Umgebung erstellen. Vorbereiten der Ausführungsumgebung von Tomcat in der IntelliJ Community Es scheint, dass ON DUPLICATE KEY UPDATE nicht mit iciql verwendet werden kann (auch die Codegenerierung ist fehlgeschlagen), daher habe ich migriert.

Außerdem wird angenommen, dass die Umgebung Windows 10 ist.

Fügen Sie jooq zur externen Bibliothek hinzu

Fügen Sie den Abhängigkeiten von build.gradle Folgendes hinzu.

dependencies {
    //Datenbank-Connector hinzufügen
    //(Wenn Sie im Fall von MySQL eine Version von 6 oder höher angeben, tritt ein zeitzonenbezogener Fehler auf)
    compile group: 'mysql', name: 'mysql-connector-java', version: '5.1.47'

    //Joooq verwandtes Glas hinzugefügt
    compile group: 'org.jooq', name: 'jooq', version: '3.11.2'
    compile group: 'org.jooq', name: 'jooq-parent', version: '3.11.2'/*, ext: 'pom'*/
    compile group: 'org.jooq', name: 'jooq-meta', version: '3.11.2'
    compile group: 'org.jooq', name: 'jooq-meta-extensions', version: '3.11.2'
    compile group: 'org.jooq', name: 'jooq-codegen', version: '3.11.2'
    compile group: 'org.jooq', name: 'jooq-codegen-maven', version: '3.11.2'
}

Es ist erforderlich, den Datenbankconnector zusammenzufügen. Wenn Sie jedoch MySQL verwenden und Version 6.0 oder höher angeben, tritt zur Laufzeit der folgende Fehler auf.

The server time zone value '???? (?W????)' is unrecognized or represents more than one time zone. You must configure either the server or JDBC driver (via the serverTimezone configuration property) to use a more specific time zone value if you want to utilize time zone support.



## Fügen Sie ein praktisches Plug-In ein, um Code mit JOOQ zu generieren
 Fügen Sie Plugins in build.gradle hinzu, um [JOOQ Plugins] zu installieren (https://plugins.gradle.org/plugin/nu.studer.jooq).

```groovy
plugins {
    id 'nu.studer.jooq' version '3.0.2'
}

Stellen Sie das JOOQ-Plug-In ein

Sie können das JOOQ-Plug-In konfigurieren, indem Sie jooq {} in build.gradle deklarieren und darin schreiben.


dependencies {
    jooqRuntime group: 'mysql', name: 'mysql-connector-java', version: '5.1.47'
}

jooq {
    //Geben Sie die Version von jooq an
    version = '3.11.2'
    edition = 'OSS'
    tables(sourceSets.main) {
        jdbc {
            //Vollqualifizierter Klassenname des Datenbanktreibers
            driver = 'com.mysql.jdbc.Driver'
            //URL, um eine Verbindung zu SQL herzustellen
            url = 'jdbc:mysql://localhost:3306/Hoge?serverTimezone=JST'
            //Benutzername, um sich bei der Datenbank anzumelden
            user = 'user'
            //Passwort zum Anmelden bei der Datenbank
            password = 'password'
        }
        generator {
            name = 'org.jooq.codegen.DefaultGenerator'
            database {
                //Klassenname, der die Zieldatenbank darstellt(Siehe unten)
                name = 'org.jooq.meta.mysql.MySQLDatabase'
                inputSchema = ''
                includes = '.*'
                excludes = ''
            }
            target {
                //Paketname des generierten Codes
                packageName = 'jooq'
                //Verzeichnis zum Platzieren des generierten Codes
                directory = 'src/main/java'
            }
        }
    }
}

Wenn Sie eine andere Datenbank als MySQL verwenden möchten, geben Sie den Namen wie in der folgenden Tabelle angegeben an. Der Name der jooq-Klasse, mit der eine Verbindung zur Datenbank hergestellt wird.

Datenbank name
ase org.jooq.util.ase.ASEDatabase
cubrid org.jooq.util.cubrid.CUBRIDDatabase
db2 org.jooq.util.db2.DB2Database
derby org.jooq.util.derby.DerbyDatabase
h2 org.jooq.util.h2.H2Database
hsqldb org.jooq.util.hsqldb.HSQLDBDatabase
ingres org.jooq.util.ingres.IngresDatabase
mysql org.jooq.util.mysql.MySQLDatabase
oracle org.jooq.util.oracle.OracleDatabase
postgres org.jooq.util.postgres.PostgresDatabase
sqlite org.jooq.util.sqlite.SQLiteDatabase
sqlserver org.jooq.util.sqlserver.SQLServerDatabase
sybe org.jooq.util.sybase.SybaseDatabase

Jooq-Codegenerierung | Java-Entwicklung

JOOQ-Codegenerierung

Im Gradle-Fenster befindet sich eine Aufgabe namens jooq → generateTablesJooqSchemaSource, sodass Sie die entsprechende Klasse automatisch aus der Datenbank generieren können, indem Sie sie ausführen.

Programmieren wir mit JOOQ!

Zusammenfassung der Verwendung von jOOQ

Recommended Posts

Ich habe versucht, JOOQ mit Gradle zu verwenden
Ich habe versucht, Realm mit Swift UI zu verwenden
Ich habe versucht, Scalar DL mit Docker zu verwenden
Ich habe versucht, OnlineConverter mit SpringBoot + JODConverter zu verwenden
Ich habe versucht, OpenCV mit Java + Tomcat zu verwenden
Ich habe versucht, Gson zu benutzen
Ich habe versucht, TestNG zu verwenden
Ich habe versucht, Galasa zu benutzen
Ich habe mit Ruby einen Blackjack gemacht (ich habe versucht, Minitest zu verwenden)
Ich habe versucht, mit Gradle auf Heroku zu beginnen
Ich habe DI mit Ruby versucht
Ich habe versucht, Azure Cloud-Init zu verwenden
Ich habe versucht, Apache Wicket zu verwenden
Ich habe versucht, Java REPL zu verwenden
Ich habe UPSERT mit PostgreSQL ausprobiert.
Ich habe BIND mit Docker ausprobiert
Ich habe versucht, Spring + Mybatis + DbUnit zu verwenden
Ich habe eine morphologische Analyse mit MeCab versucht
Ich kann Lombok nicht mit Gradle installieren.
Ich habe versucht, mit Java zu interagieren
Ich habe versucht, UDP mit Java zu kommunizieren
Ich habe versucht, die Java8 Stream API zu verwenden
Ich habe versucht, JWT in Java zu verwenden
Ich habe GraphQL mit Spring Boot ausprobiert
[Android] Ich habe versucht, das Koordinatorlayout zu verwenden.
Ich habe Flyway mit Spring Boot ausprobiert
Ich habe versucht, Pari GP Container zu verwenden
Ich habe versucht, WebAssembly Stadio (Version 2018/4/17) zu verwenden.
Ich habe versucht, mit Swagger mit Spring Boot zu beginnen
Ich habe versucht, Slim mit Scaffold anzupassen
Ich habe versucht, die CameraX-Bibliothek mit Android Java Fragment zu verwenden
Ich habe versucht, Java Memo LocalDate zu verwenden
Ich habe versucht, Google HttpClient von Java zu verwenden
Ich habe versucht, mithilfe von JDBC Template mit Spring MVC eine Verbindung zu MySQL herzustellen
Ich habe versucht, die Elasticsearch-API in Java zu verwenden
Ich habe versucht, das Java-Diagnosetool Arthas zu verwenden
Ich habe versucht, UICollectionViewListCell zu verwenden, das von Xcode12 hinzugefügt wurde.
Ich habe versucht, mit Web Assembly zu beginnen
Ich habe mit Studyplus zeitsparendes Management-Lernen versucht.
Es ist neu, aber ich habe versucht, Groonga zu verwenden
Ich habe versucht, ein wenig mit BottomNavigationView zu spielen ①
Ich habe Lazy Initialization mit Spring Boot 2.2.0 ausprobiert
Ich habe mit Thymeleaf meinen eigenen Dialekt erstellt und eingestellt und versucht, ihn zu verwenden
Ich habe es mit Spring versucht.
Ich habe versucht, Tomcat zu setzen
Ich habe youtubeDataApi ausprobiert.
Ich habe versucht, ① umzugestalten
Ich habe FizzBuzz ausprobiert.
Ich habe JHipster 5.1 ausprobiert
Ich habe versucht, Junit mit Mac VScode Maven zu verwenden
[Für Anfänger] Ich habe versucht, DBUnit mit Eclipse zu verwenden
Ich habe versucht, AdoptOpenJDK 11 (11.0.2) mit dem Docker-Image zu überprüfen
Ich habe versucht, eine Standardauthentifizierung mit Java durchzuführen
Ich habe versucht, die Federbeinkonfiguration mit Coggle zu verwalten
[Für Anfänger] Ich habe versucht, JUnit 5 mit Eclipse zu verwenden
Ich habe versucht, Anmeldeinformationen mit JMX zu verwalten
[Android] Ich habe SQLite beendet und versucht, Realm zu verwenden