Eine kurze Analyse des Problems der Mysql 8.0-Version, das getTables dazu veranlasst, alle Datenbanktabellen zurückzugeben

Eine kurze Analyse des Problems der Mysql 8.0-Version, das getTables dazu veranlasst, alle Datenbanktabellen zurückzugeben

Vorwort

Dieser Artikel stellt hauptsächlich den relevanten Inhalt des Mysql8.0-Treibers getTables vor, der alle Tabellen in der Bibliothek zurückgibt. Der Treiber der Version MySQL Connector/J 8.0 ist abwärtskompatibel mit der vorherigen Version 5.5+ von MySQL. Wenn Sie die Version 5.5+ von MySQL verwenden, können Sie auf den Treiber der Version 8.0 aktualisieren.

Wenn Sie die 5.X-Version des Treibers verwenden, müssen Sie die Treiberklasse wie folgt ändern: com.mysql.cj.jdbc.Driver

Es ist zu beachten, dass:

Die Parameter im Zusammenhang mit der Treiber-DataSource haben sich in Version 8.0 geändert:

Beispielsweise ändert der Treiber der Version 8.0 den Standardwert des Parameters nullCatalogMeansCurrent von true auf false. Wenn Sie DatabaseMetaData.getTables verwenden, um alle Tabelleninformationen abzurufen, gibt der Treiber der Version 8.0 alle Datenbanktabellen zurück.

// Standardmäßig werden alle Datenbanktabellen zurückgegeben, nicht nur die durch die Datenquelle angegebene Datenbank databaseMetaData.getTables(null, null, null, new String[]{"TABLE"})

Die Lösung besteht darin, diesen Parameter bei der Initialisierung des Verbindungspools auf „true“ zu ändern. Nehmen wir HikariCP als Beispiel:

Java-Konfiguration:

HikariConfig-Konfiguration = neue HikariConfig();
...
config.addDataSourceProperty("nullCatalogMeansCurrent", true);

Spring Boot-Konfiguration:

spring.datasource.hikari.data-source-properties.nullCatalogMeansCurrent=true

Weitere Parameteränderungen finden Sie in der [offiziellen Dokumentation].

Zusammenfassen

Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, dass der Inhalt dieses Artikels einen gewissen Lernwert für Ihr Studium oder Ihre Arbeit hat. Wenn Sie Fragen haben, können Sie eine Nachricht hinterlassen. Vielen Dank für Ihre Unterstützung von 123WORDPRESS.COM.

Das könnte Sie auch interessieren:
  • Kurze Analyse der verschiedenen Versionen des mysql.data.dll-Treibers
  • Detaillierte Erläuterung der Probleme, die bei der Verwendung des Mysql8.0-Versionstreibers im Mybatis-Reverse-Engineering auftreten

<<:  Detaillierte Erklärung zum Erstellen eines File-Sharing-Servers mit Samba + OPENldap

>>:  Verwendung und Unterschied von Vue.set() und this.$set()

Artikel empfehlen

Zusammenfassung der Ereignisse, die Browser registrieren können

HTML-Ereignisliste Allgemeine Ereignisse: onClick ...

MySQL 5.7.21 Installations- und Konfigurations-Tutorial

Die einfache Installationskonfiguration von mysql...

Idea stellt Remote-Docker bereit und konfiguriert die Datei

1. Ändern Sie die Docker-Konfigurationsdatei des ...

JavaScript-Grundlagenreihe: Funktionen und Methoden

Inhaltsverzeichnis 1. Der Unterschied zwischen Fu...

Schnellstart der Vue3-Dokumentation

Inhaltsverzeichnis 1. Einrichtung 1. Der erste Pa...

Detaillierte Erläuterung des Docker-Visualisierungsgrafiktools Portainer

Inhaltsverzeichnis 1. Einführung in Portainer 2. ...

Praktischer grundlegender Beispielcode für den Linux-Befehl sed

Der Linux-Stream-Editor ist eine nützliche Möglic...

Vor- und Nachteile von MySQL-Indizes und Richtlinien zum Erstellen von Indizes

1. Warum einen Index erstellen? (Vorteile) Dies l...

30 Minuten, um Ihnen ein umfassendes Verständnis von React Hooks zu vermitteln

Inhaltsverzeichnis Überblick 1. useState 1.1 Drei...

Der einfachste Weg, MySQL 5.7.20 mit yum in CentOS 7 zu installieren

Die Standarddatenbank von CentOS7 ist MariaDB, ab...

Detaillierte Erklärung der Stammverzeichniseinstellungen in nginx.conf

Bei der Konfiguration von nginx.conf treten immer...

Wie funktionieren die dynamischen Komponenten von Vue3?

Inhaltsverzeichnis 1. Komponentenregistrierung 1....