So vermeiden Sie die URL-Zeitzonenfalle in MySQL

So vermeiden Sie die URL-Zeitzonenfalle in MySQL

Vorwort

Wenn Sie MySQL 6.0.x oder höher (JAR) verwenden, müssen Sie neuerdings die ServerTimezone im URL-Link des Codes angeben. Es tritt eine Ausnahme auf:

1. ServerTimezone nicht angegeben

Konfigurieren der URL in XML

<Eigenschaftsname="URL" Wert="jdbc:mysql://localhost:3306/mybatisstudy"/>

Anomalien

Verursacht durch: com.mysql.cj.core.exceptions.InvalidConnectionAttributeException: Der Server-Zeitzonenwert „�й���׼ʱ��“ wird nicht erkannt oder stellt mehr als eine Zeitzone dar. Sie müssen entweder den Server oder den JDBC-Treiber (über die Konfigurationseigenschaft „serverTimezone“) so konfigurieren, dass ein spezifischerer Zeitzonenwert verwendet wird, wenn Sie die Zeitzonenunterstützung nutzen möchten.

Sie müssen den Server oder JDBC-Treiber (über die Konfigurationseigenschaft „serverTimezone“) so konfigurieren, dass ein detaillierterer Zeitzonenwert verwendet wird, wenn Sie die Zeitzonenunterstützung nutzen möchten.

2. Online-Lösungen

Fügen Sie den Parameter ?serverTimezone=utc nach der URL hinzu

<Eigenschaftsname="URL" Wert="jdbc:mysql://localhost:3306/springdatastudy?serverTimezone=UTC"/>

2.1. Aufgetretene Probleme

Obwohl beim Hinzufügen des Zeitzonenprogramms oben kein Fehler auftritt, gibt es ein Problem, wenn wir die Zeit mithilfe von Java-Code in die Datenbank einfügen.

Beispielsweise lautet die in den Java-Code eingefügte Zeit: 2017-08-21 17:29:56

Die in der Datenbank angezeigte Zeit lautet jedoch: 2017-08-21 09:29:56

3. Grundursache

Wegen des Problems mit der Zeitzoneneinstellung.

UTC steht für Universal Coordinated Time (koordinierte Weltzeit), die von uns verwendete Zeit ist jedoch die Zeitzone von Peking, also Ost-8 Uhr, also acht Stunden vor UTC.

UTC + (+0800) = Ortszeit (Peking)

4. Lösung

Die Zeitzone der URL verwendet die chinesische Standardzeit. Das heißt, serverTimezone=Asia/Shanghai

4.1 Verwenden Sie Java-Code, um die lokale Zeitzonen-ID abzurufen

Kalender cal = Kalender.getInstance();
ZeitZone ZeitZone = cal.getTimeZone();
System.out.println(timeZone.getID());
System.out.println(timeZone.getDisplayName());
Asien/Shanghai
Chinesische Standardzeit

Zusammenfassen

Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, dass der Inhalt dieses Artikels Ihnen bei Ihrem Studium oder Ihrer Arbeit helfen kann. 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:
  • Änderung des Zeitzonenproblems von MySQL-Containern in Docker
  • Detaillierte Erklärung des MySQL-Zeitzonenproblems in Java
  • So zeigen Sie die Zeitzone in MySQL an und ändern sie
  • Detaillierte Erklärung der MySQL-Zeitstempeltypen und Zeitzonenbeispiele
  • Zusammenfassung der Methoden zum Ändern der MySQL-Zeitzone
  • So unterscheiden Sie Groß- und Kleinbuchstaben in Zeichenfolgen bei MySQL-Abfragen
  • MySQL-Zeitzonenproblem
  • Eine kurze Zusammenfassung der Zeitzonen von PHP und MySQL
  • mysql löst zeitzonenbezogene Probleme

<<:  So verwenden Sie CocosCreator zum Erstellen eines Schießspiels

>>:  React erhält den Eingabewert und übermittelt 2 Methodenbeispiele

Artikel empfehlen

Beispiel für eine Methode zur Überprüfung des Status einer Linux-Firewall

So überprüfen Sie den Status der Linux-Firewall 1...

Ausführliches Installationstutorial für MySQL Installer Community 5.7.16

Dieser Artikel zeichnet das ausführliche Tutorial...

Eine kurze Analyse des HTML-Space-Codes

Wie gut kennen Sie sich mit HTML aus? Wenn Sie jet...

Linux-Installation MySQL5.6.24 Nutzungsanweisungen

Hinweise zur Linux-Installation von MySQL 1. Stel...

CUDA8.0 und CUDA9.0 koexistieren unter Ubuntu16.04

Vorwort Einige der früheren Codes auf Github erfo...

Scrollen von HTML-Marquee-Zeichenfragmenten

Seine Eigenschaften sind wie folgt: Richtung Stell...

Vue implementiert die Funktionen Vergrößern, Verkleinern und Ziehen

In diesem Artikelbeispiel wird der spezifische Co...

So verwenden Sie Watch-Listener in Vue2 und Vue3

watch : auf Datenänderungen achten (Änderungserei...

Weitere Möglichkeiten zur Verwendung von spitzen Klammern in Bash

Vorwort In diesem Artikel werden wir weitere Verw...

Installieren Sie Centos7 mithilfe einer virtuellen Hyper-V-Maschine

Inhaltsverzeichnis einführen Vorbereiten Systemab...