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

SASS Style Programmierhandbuch für CSS

Da immer mehr Entwickler SASS verwenden, müssen w...

Einführung in die MySQL-Optimierung für die Unternehmensproduktion

Im Vergleich zu anderen großen Datenbanken wie Or...

4 Möglichkeiten zum Ändern des MySQL-Root-Passworts (Zusammenfassung)

Methode 1: Verwenden Sie den Befehl SET PASSWORD ...

Dieser Artikel hilft Ihnen, den Lebenszyklus in Vue zu verstehen

Inhaltsverzeichnis 1. vorErstellen & erstellt...

Neue Blockbereichsfunktion von JavaScript ES

Inhaltsverzeichnis 1. Was ist Blockbereich? 2. Wa...

Erläuterung des MySQL-Nicht-Null-Einschränkungsfalls

Inhaltsverzeichnis Legen Sie beim Erstellen einer...

Hinweise zur Verwendung von $refs in Vue-Instanzen

Während des Entwicklungsprozesses verwenden wir h...

CSS-Code zur Steuerung der Hintergrundfarbe der Webseite

Ich glaube, jeder macht sich oft Sorgen, ob er Bi...

So benennen Sie unter Linux eine Gruppe von Dateien auf einmal um

Unter Linux verwenden wir normalerweise den Befeh...

CSS3 zum Erzielen eines dynamischen Hintergrundverlaufseffekts

Beim Erlernen von CSS3 geht es mehr darum, sich m...

Implementierung einer Login-Seite basierend auf layui

In diesem Artikelbeispiel wird der spezifische Co...

Einige Parameterbeschreibungen von Texteingabefeldern im Webdesign

<br />In Gästebüchern, Foren und anderen Ort...