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

Docker-Pull-Image und Tag-Vorgang Pull | Tag

Ich habe den Quellcode des Fabric-Projekts noch e...

Hinzufügen und Löschen von Tabelleninformationen mit Javascript

Erste Schritte mit JavaScript JavaScript ist eine...

Vue implementiert scrollbaren Popup-Fenstereffekt

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

Detaillierter Prozess zum Erstellen von MongoDB und MySQL mit Docker-Compose

Schauen wir uns die detaillierte Methode zum Erst...

CSS3-Filtercode zum Erreichen des Grau- oder Schwarzmodus auf Webseiten

Frontend css3.filter kann nicht nur den Graueffek...

So stellen Sie Tencent Cloud Server von Grund auf bereit

Da dies mein erster Beitrag ist, weisen Sie mich ...

Detaillierte Erläuterung der MySQL Master-Slave-Datenbankkonstruktionsmethode

Dieser Artikel beschreibt, wie man eine MySQL Mas...

Implementierung von Docker zum Erstellen eines Zookeeper- und Kafka-Clusters

Ich habe vor Kurzem Kafka gelernt. Als ich mich d...

Die Reihenfolge der Ereignisausführung in der Knotenereignisschleife

Inhaltsverzeichnis Ereignisschleife Ereignisschle...