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

Implementierung der Nginx-Arbeitsprozessschleife

Nach dem Start initialisiert der Worker-Prozess z...

Detaillierte Analyse von MySQL-Ausführungsplänen

Vorwort Als wir im vorherigen Interviewprozess na...

Detaillierte Erläuterung der Js-Klassenkonstruktion und Vererbungsfälle

Die Definition und Vererbung von Klassen in JS si...

Zusammenfassung der Erfahrungen und Fähigkeiten im Webdesign

■ Planung des Website-Themas Achten Sie darauf, da...

mysql charset=utf8 verstehen Sie wirklich, was es bedeutet

1. Schauen wir uns zunächst eine Anweisung zur Ta...

Eine kurze Analyse des Funktionsaufrufprozesses unter der ARM-Architektur

Inhaltsverzeichnis 1. Hintergrundwissen 1. Einfüh...

JavaScript implementiert Feuerwerkseffekte mit Soundeffekten

Ich habe eine halbe Stunde gebraucht, um den Code...

Aktualisierungen für React Router V6

Inhaltsverzeichnis ReactRouterV6-Änderungen 1. &l...

So lösen Sie das Problem des verstümmelten MySQL-Inserts

Problembeschreibung: Beim Einfügen chinesischer Z...

Detaillierte Erklärung der Verwendung von SetUp- und Reactive-Funktionen in Vue3

1. Wann soll setUp ausgeführt werden? Wir alle wi...

So ändern Sie MySQL-Berechtigungen, um Hosts den Zugriff zu ermöglichen

Aktivieren Sie Remote-Zugriffsrechte für MySQL My...