Bei der Verwendung von mybatis-generator mit mysql8.0.3 in IDEA sind Fehler aufgetreten

Bei der Verwendung von mybatis-generator mit mysql8.0.3 in IDEA sind Fehler aufgetreten

1. Fügen Sie das Plug-In hinzu und fügen Sie die folgende Konfiguration unter der POM-Datei hinzu

<!-- mybatis-generator -->
  <Plugin>
  <groupId>org.mybatis.generator</groupId>
  <artifactId>mybatis-generator-maven-plugin</artifactId>
  <version>1.3.5</version>
  <Konfiguration>
   <Konfigurationsdatei>
   <!--Hier ist der Pfad zur Konfiguration von generatorConfig.xml. Wenn er nicht angegeben ist, befindet sich die Datei generatorConfig.xml standardmäßig im Ressourcenverzeichnis. -->
   </Konfigurationsdatei>
   <verbose>wahr</verbose>
   <overwrite>wahr</overwrite>
  </Konfiguration>
  <Abhängigkeiten>
   <Abhängigkeit>
   <groupId>mysql</groupId>
   <artifactId>mysql-connector-java</artifactId>
   <version>8.0.11</version>
   </Abhängigkeit>
  </Abhängigkeiten>
  </plugin>

2. Erstellen Sie generatorConfig.xml unter Ressourcen mit folgendem Inhalt:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE GeneratorKonfiguration
 ÖFFENTLICH "-//mybatis.org//DTD MyBatis Generator-Konfiguration 1.0//EN"
 "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">
<Generatorkonfiguration>
 <!-- Kontext sind die wichtigsten Konfigurationsinformationen für Reverse Engineering -->
 <!-- id: gib ihm einen Namen-->
 <!-- targetRuntime: Legen Sie fest, dass die generierte Datei auf diese Mybatis-Version angewendet wird -->
 <Kontext-ID = "Standard" Ziel-Runtime = "MyBatis3">
 <!--optional, bezieht sich auf die Steuerung von Kommentaren beim Erstellen einer Klasse-->
 <KommentarGenerator>
  <Eigenschaftsname="suppressDate" Wert="true"/>
  <!-- Ob automatisch generierte Kommentare entfernt werden sollen true: yes: false: no -->
  <Eigenschaftsname="suppressAllComments" Wert="true"/>
 </commentGenerator>
 <!--jdbc-Datenbankverbindung wg_insert ist der Datenbankname-->
 <jdbcConnection TreiberClass="com.mysql.cj.jdbc.Treiber"
   Verbindungs-URL = "jdbc:mysql://localhost:3306/wg_insert?useUnicode=true&characeterEncoding=utf-8&serverTimezone=UTC" Benutzer-ID = "root"
   Passwort="123456"></jdbcConnection>
 <!--Optional, Typprozessor, Konvertierungssteuerung zwischen Datenbanktyp und Java-Typ-->
 <javaTypeResolver>
  <!-- Standardmäßig entsprechen Dezimalzahlen und BigInt in der Datenbank der BigDecimal-Klasse in SQL in Java -->
  <!-- Kein doppelter oder langer Typ -->
  <!-- Verwenden Sie im SQL-Paket allgemeine Basistypen anstelle von Referenztypen-->
  <Eigenschaftsname="forceBigDecimals" Wert="false"/>
 </javaTypeResolver>
 <!-- targetPackage: das Paket, in dem sich die generierte Entity-Klasse befindet -->
 <!-- targetProject: der Festplattenspeicherort, an dem sich die generierte Entitätsklasse befindet -->
 <javaModelGenerator targetPackage="com.wglvzyx.mybatisredis.entity"
    Zielprojekt="src/main/java">
  <!-- Ob Unterpakete zugelassen werden sollen -->
  <Eigenschaftsname="enableSubPackages" Wert="false"/>
  <!-- Ob dem Modal ein Konstruktor hinzugefügt werden soll-->
  <Eigenschaftsname="Konstruktorbasiert" Wert="true"/>
  <!-- Ob die Leerzeichen auf beiden Seiten der aus der Datenbank abgefragten Zeichenfolge bereinigt werden sollen -->
  <Eigenschaftsname="trimStrings" Wert="true"/>
  <!-- Stellen Sie fest, ob das modale Objekt unveränderlich ist, d. h., das generierte modale Objekt verfügt nicht über eine Setter-Methode, sondern nur über einen Konstruktor -->
  <Eigenschaftsname="unveränderlich" Wert="falsch"/>
 </javaModelGenerator>
 <!-- targetPackage und targetProject: das Paket und der Speicherort der generierten Mapper-Datei -->
 <sqlMapGenerator Zielpaket="Mapper"
    Zielprojekt="src/main/resources">
  <!-- Für eine Datenbankkonfiguration, ob Schema als Unterpaketname verwendet werden soll -->
  <Eigenschaftsname="enableSubPackages" Wert="false"/>
 </sqlMapGenerator>
 <!-- targetPackage und targetProject: das Paket und der Speicherort der generierten Schnittstellendatei -->
 <javaClientGenerator Typ="XMLMAPPER"
    Zielpaket = "com.wglvzyx.mybatisredis.dao" Zielprojekt = "src/main/java">
  <!-- Für die Konfiguration einer Oracle-Datenbank: ob Schema als Unterpaketname verwendet werden soll -->
  <Eigenschaftsname="enableSubPackages" Wert="false"/>
 </javaClientGenerator>
 <!-- tableName ist der Tabellenname in der Datenbank, domainObjectName ist der generierte JAVA-Modellname, die folgenden Parameter müssen nicht geändert werden, wenn Sie weitere Tabellen generieren möchten, fügen Sie unten weiterhin Tabellen-Tags hinzu-->
 <table Tabellenname="Student" Domänenobjektname="Student"
  enableCountByExample="false" enableUpdateByExample="false"
  enableDeleteByExample="false" enableSelectByExample="false"
  selectByExampleQueryId="false"></table>
 </Kontext>
</generatorConfiguration>

3. Ausführen. Es gibt zwei Methoden:

Methode 1:

Fügen Sie in Intellij IDEA eine Option „Ausführen“ hinzu und verwenden Sie Maven, um das Plug-In mybatis-generator-maven-plugin auszuführen (mybatis-generator:generate -e):

Bildbeschreibung hier einfügen

Methode 2:

Öffnen Sie das Maven-Panel auf der rechten Seite, öffnen Sie mybatis-generator:generate unter Mybatis-generator unter Plugins und klicken Sie mit der rechten Maustaste auf „Maven Build ausführen!“

Bildbeschreibung hier einfügen

Beachten:

Weil ich mysql-8.0.11 verwende

Die Konfiguration ist also anders

Das Wichtigste ist, dass die neue Version neue Funktionen hat. Zunächst einmal besteht die neueste offizielle Unterstützung darin, com.mysql.jdbc.Driver in com.mysql.cj.jdbc.Driver zu ändern. Darüber hinaus muss mysql8.0 keine SSL-Verbindung herstellen. Sie müssen es explizit deaktivieren, d. h. useSSL=false in der URL; schließlich müssen Sie CST einstellen, was als Standardzeit der Vereinigten Staaten, Australiens, Kubas oder Chinas angesehen werden kann. serverTimezone wird zum Einstellen der Zeitzone verwendet. Sie können die entsprechenden Informationen überprüfen, um mehr zu erfahren!

jdbc.driverClassName=com.mysql.cj.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/mytest?useUnicode=true&characterEncoding=UTF-8&allowMultiQueries=true&useSSL=false&serverTimezone=UTC
jdbc.Benutzername=root
jdbc.password=123456

Dies ist das Ende dieses Artikels über die Fallstricke bei der Verwendung von mybatis-generator mit IDEA und MySQL 8.0.3. Weitere Informationen zur Verwendung von mybatis-generator mit MySQL in IDEA finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, Sie werden 123WORDPRESS.COM auch in Zukunft unterstützen!

Das könnte Sie auch interessieren:
  • Grafisches Tutorial zur Installation und Konfiguration der MySQL-Version 8.0.24
  • Einige Verbesserungen in MySQL 8.0.24 Release Note
  • Implementierung der MVCC-Mehrversions-Parallelitätskontrolle von MySQL
  • Die beste Lösung zum Zurücksetzen des Root-Passworts von MySQL 8.0.23
  • Informationen zum Konfigurationsproblem bei der Verbindung von MyBatis mit der MySql8.0-Version
  • So lösen Sie das Problem, dass Seata die MySQL 8-Version nicht verwenden kann
  • Detaillierte Erklärung der Verbindung von DBeaver zu MySQL Version 8 und höher und Lösung möglicher Probleme
  • Lösung für das Problem des verstümmelten Codes in MySQL 5.x
  • Detailliertes Tutorial zur Installation der MySQL 8.0.20-Datenbank auf CentOS 7
  • Lösung für den ONLY_FULL_GROUP_BY-Fehler in Mysql5.7 und höher
  • Lösen Sie das Installationsproblem der mysql8.0.19 Winx64-Version
  • Kompatibilitätsprobleme mit Django 2.2 und PyMySQL
  • Schritte zur Installation von MySQL 5.7 im Binärmodus und zur Optimierung des Systems unter Linux
  • Installation verschiedener Versionen von MySQL 8.0.18 und während der Installation aufgetretene Probleme (Zusammenfassung)
  • Sehr detaillierte Anleitung zum Upgrade der MySQL-Version

<<:  Details zu gängigen Javascript-Funktionen höherer Ordnung

>>:  Detailliertes Verständnis des Plug-In-Mechanismus und der Installationsdetails von Vue

Artikel empfehlen

Natives js zum Erreichen eines einfachen Karusselleffekts

In diesem Artikel wird der spezifische Code von j...

Vue setzt die Daten auf ihren ursprünglichen Zustand zurück

In einigen Fällen müssen die Daten in den Daten w...

Grafische Einführung in den Unterschied zwischen := und = in MySQL

Der Unterschied zwischen := und = = Nur beim Setz...

Detailliertes Tutorial zur Installation von MySQL unter Linux

1. Beenden Sie den MySQL-Dienst # service mysqld ...

Verwenden von jQuery zum Implementieren des Karusselleffekts

In diesem Artikel finden Sie den spezifischen Cod...

HTML-Grundstruktur_Powernode Java Academy

Wenn wir lernen, Webseiten zu entwickeln, ist das...

Warum sollte CSS im Head-Tag platziert werden?

Denken Sie darüber nach: Warum sollte css im head...

MySQL Series 7 MySQL-Speicher-Engine

1. MyISAM-Speicher-Engine Mangel: Keine Unterstüt...

Vuex implementiert einen einfachen Einkaufswagen

In diesem Artikelbeispiel wird der spezifische Co...

Vue3 (Teil 2) Integration von Ant Design Vue

Inhaltsverzeichnis 1. Integrieren Sie Ant Design ...