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

Nginx-Überwachungsprobleme unter Linux

Nginx-Installation Stellen Sie sicher, dass die v...

Detaillierte Erklärung der Kernfunktionen und der Ereignisbehandlung von jQuery

Inhaltsverzeichnis Ereignis Seite wird geladen Ve...

CSS3 realisiert die Mask Barrage-Funktion

Kürzlich habe ich auf der B-Station einen Sperrfe...

So kaufen Sie einen Server und richten ihn zunächst ein

Ich habe eine Weile nicht mit Servern gearbeitet....

Detaillierte Erklärung des JavaScript-Prototyps und Beispiele

Inhaltsverzeichnis Die Beziehung zwischen der Kon...

Installations- und Nutzungsprotokoll von VMware ESXi (mit Download)

Inhaltsverzeichnis 1. Installieren Sie ESXi 2. ES...

Detaillierte Erklärung zur Verwendung von Vue zum Laden von Wetterkomponenten

In diesem Artikel erfahren Sie, wie Sie mit Vue W...

MySQL effiziente Abfrage Left Join und Gruppieren nach (plus Index)

MySQL effiziente Abfrage MySQL verzichtet auf „Gr...

Vue.js Leistungsoptimierung N Tipps (es lohnt sich, sie zu sammeln)

Inhaltsverzeichnis Funktionskomponenten Aufteilun...

Lassen Sie uns ausführlich über Vues Mixin und Vererbung sprechen

Inhaltsverzeichnis Vorwort Mischen Mixin-Hinweis ...