Zusammenfassung der Probleme mit der Mysql-connector-java-Treiberversion

Zusammenfassung der Probleme mit der Mysql-connector-java-Treiberversion

Problem mit der Mysql-Connector-Java-Treiberversion

Da meine Datenbankversion 5.7.28 ist, treten bei der Verwendung von Java zum Herstellen einer Verbindung zu MySQL häufig Versionsprobleme auf.

  • com.mysql.jdbc.Driver ist in mysql-connector-java 5,
  • com.mysql.cj.jdbc.Driver ist in mysql-connector-java 6

Das Herstellen einer SSL-Verbindung ohne Serverauthentifizierung wird nicht empfohlen.
Die MySQL-Versionen 5.5.45+, 5.6.26+ und 5.7.6+ erfordern standardmäßig SSL-Verbindungen, sofern dies nicht explizit festgelegt wurde.
Um die Anforderungen von Anwendungen zu erfüllen, die derzeit keine SSL-Verbindungen verwenden, wird die Eigenschaft „verifyServerCertificate“ auf „false“ gesetzt.
Wenn Sie keine SSL-Verbindungen verwenden müssen, müssen Sie SSL-Verbindungen explizit deaktivieren, indem Sie useSSL=false festlegen.
Wenn Sie eine Verbindung per SSL herstellen müssen, geben Sie einen Truststore zur Serverzertifikatsüberprüfung an und legen Sie useSSL=true fest.

SSL – Secure Sockets Layer

Klasse „com.mysql.jdbc.Driver“ wird geladen. Dies ist veraltet. Die neue Treiberklasse ist „com.mysql.cj.jdbc.Driver“. Der Treiber wird automatisch über die SPI registriert und das manuelle Laden der Treiberklasse ist im Allgemeinen nicht erforderlich.

Fehlerursache:
Die von MySQL5 verwendete Treiber-URL ist com.mysql.jdbc.Driver, und MySQL6 und höher verwenden com.mysql.cj.jdbc.Driver. Wenn die Versionen nicht übereinstimmen, wird ein Fehler gemeldet, der darauf hinweist, dass die Treiberklasse veraltet ist.
Lösung:
Durch Ändern des Treiberklassennamens in der Konfigurationsdatei können Sie die Warnung beseitigen, dass die Treiberklasse veraltet ist.

Auch wenn der Treibername in mysql5.7.28 in com.mysql.cj.jdbc.Driver geändert wird, wird weiterhin ein Fehler gemeldet. Der Grund dafür ist, dass die Version in der POM-Projektobjektmodelldatei nicht geändert wird in

mysql-connector-java8.0 oder höher

mysql-connector-java und entsprechende MySQL-Versionen

Da meine Version MySQL 5.7.28 ist und Connector-Java Version 5.1 verwendet, tritt der obige Fehler weiterhin auf. Verwenden Sie daher Connector-Java 8.0 oder höher in MySQL 5.6 oder höher.

Und Sie müssen die Zeitzone einstellen, wenn Sie es verwenden

TreiberKlassenname=com.mysql.cj.jdbc.Driver
url=jdbc:mysql://localhost:3306/Datenbankname?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf8&useSSL=false
Benutzername=root
Passwort=

Die Server-Zeitzone muss hier als Server-Zeitzone = Asien/Shanghai geschrieben werden. Wenn man sie als Server-Zeitzone = Shanghai schreibt, tritt ebenfalls ein Fehler auf. Es scheint, dass die Zeitzone von Shanghai nicht gefunden werden kann. Es kann sein, dass es mehr als ein Shanghai auf der Welt gibt, haha!

mysql-connector-java und entsprechende Java-Version

Angesichts der oben genannten Punkte ist es für Anfänger besser, mysql-connector-java 8.0 oder höher zu verwenden

Oben sind die Details des Mysql-Connector-Java-Treiberversionsproblems aufgeführt. Weitere Informationen zum Mysql-Connector-Java-Treiber finden Sie in den anderen verwandten Artikeln auf 123WORDPRESS.COM!

Das könnte Sie auch interessieren:
  • Detaillierte Erläuterung des Downloadvorgangs des Pakets mysql-connector-java.jar
  • Hinweise zum Upgrade auf mysql-connector-java8.0.27

<<:  CSS zum Implementieren von QQ-Browserfunktionen

>>:  Three.js realisiert den dynamischen 3D-Logoeffekt von Facebook Metaverse

Artikel empfehlen

Informationen zu WSL-Konfigurations- und Änderungsproblemen in Docker

https://docs.microsoft.com/en-us/windows/wsl/wsl-...

Design Association: Warum haben Sie am falschen Ort gesucht?

Ich bin vor ein paar Tagen mit dem Bus zur Arbeit...

Lösung für die Protokollpersistenzlösung des Nginx-Ingress-Controllers

Kürzlich habe ich auf einem öffentlichen Konto ei...

MySQL-Backup-Tabellenvorgang basierend auf Java

Der Kern ist mysqldump und Runtime Der Vorgang is...

Zusammenfassung des Verständnisses des virtuellen DOM in Vue

Es handelt sich im Wesentlichen um ein allgemeine...

SQL-Implementierung von LeetCode (175. Zwei Tabellen verbinden)

[LeetCode] 175.Zwei Tabellen kombinieren Tabelle:...

Interner Ereignisrückruf der Webkomponentenkomponente und Problempunktanalyse

Inhaltsverzeichnis Vorne geschrieben Was genau is...

Bootstrap 3.0 Studiennotizen CSS-bezogene Ergänzung

Die wesentlichen Inhalte dieses Artikels sind wie...