Erori la interogarea bazei de date. Cauză: org.springframework.jdbc.CannotGetJdbcConnectionException: Nu s-a obținut JDBC Connection; excepția imbricată este java.sql.SQLException: Valoarea fusului orar al serverului 'Öйú±ê×1/4ʱ1/4ä' nu este recunoscută sau reprezintă mai mult de un fus orar. Trebuie să configurezi fie serverul, fie driverul JDBC (prin proprietatea serverTimezone) să folosească o valoare mai specifică a fusului orar dacă vrei să folosești suportul pentru fus orar. ### Eroarea poate exista în com/itsvse/es/mapper/AccountMapper.java (cea mai bună estimare) ### Eroarea poate implica com.itsvse.es.mapper.AccountMapper.findAllStudent ### Eroarea a avut loc în timp ce executarea unei interogări ### Cauză:
Soluție:
După șirul de conexiune, adaugă? serverTimezone=UTC UTC este Timpul Universal Standard Uniform. Exemplu de șir complet de conexiune: jdbc:mysql://localhost:3306/test?serverTimezone=UTC Sau există o altă opțiune: jdbc:mysql://127.0.0.1:3306/test?useUnicode=true&characterEncoding=UTF-8, aceasta este pentru a rezolva problema intrării chinezești distorsionate, desigur, poate fi combinată și cu cele de mai sus: jdbc:mysql://127.0.0.1:3306/test?useUnicode=true& characterEncoding=UTF-8&serverTimezone=UTC
Excepția imbricată este org.apache.ibatis.exceptions.PersistenceException: ### Eroare interogare a bazei de date. Cauză: java.lang.IllegalArgumentException: dataSource sau dataSourceClassName sau jdbcUrl sunt necesare.
Soluție:
Principalul motiv este că, în procesul de configurare a surselor de date în 1.0, sunt scrise principalele: spring.datasource.url și spring.datasource.driverClassName. După upgrade-ul la 2.0, trebuie să îl schimbi în: spring.datasource.jdbc-url și spring.datasource.driver-class-name pentru a rezolva problema!
Încărcarea clasei 'com.mysql.jdbc.Driver'. Aceasta este depreciată. Noua clasă de șoferi este 'com.mysql.cj.jdbc.Driver'. Șoferul este înregistrat automat prin SPI, iar încărcarea manuală a clasei de șofer este, în general, inutilă.
Soluție:
com.mysql.jdbc.Driver este cel din mysql-connector-java 5, com.mysql.cj.jdbc.Driver este în mysql-connector-java 6
Trebuie să specifici fusul orar serverTimezone, când setezi fusul orar, dacă setezi serverTimezone=UTC, acesta va fi cu 8 ore înainte de ora Chinei, dacă ești în China, poți alege Asia/Shanghai sau Asia/Hong Kong, de exemplu: jdbc:mysql://localhost:3306/test? serverTimezone=Shanghai&useUnicode=true&characterEncoding=utf8&useSSL=false
|