Errore nel database di interrogazione. Causa: org.springframework.jdbc.CannotGetJdbcConnectionException: Non è stato ottenuto JDBC Connection; L'eccezione annidata è java.sql.SQLException: il valore del fuso orario del server 'Öйú±ê×1/4ʱ1/4ä' non è riconosciuto o rappresenta più di un fuso orario. Devi configurare il server o il driver JDBC (tramite la proprietà di configurazione serverTimezone) per usare un valore più specifico del fuso orario se vuoi utilizzare il supporto al fuso orario. ### L'errore potrebbe esistere in com/itsvse/es/mapper/AccountMapper.java (migliore ipotesi) ### L'errore potrebbe coinvolgere com.itsvse.es.mapper.AccountMapper.findAllStudent ### L'errore si è verificato mentre esecuzione di una query ### Causa:
Soluzione:
Dopo la stringa di connessione, aggiungere? serverTimezone=UTC UTC è il Tempo Universale Standard Uniforme. Esempio completo di stringa di connessione: jdbc:mysql://localhost:3306/test?serverTimezone=UTC Oppure c'è un'altra opzione: jdbc:mysql://127.0.0.1:3306/test?useUnicode=true&characterEncoding=UTF-8, questo serve a risolvere il problema dell'input cinese distorto, ovviamente può essere combinato anche con quanto sopra: jdbc:mysql://127.0.0.1:3306/test?useUnicode=true& characterEncoding=UTF-8&serverTimezone=UTC
Annided exception è org.apache.ibatis.exceptions.PersistenceException: ### Database di query errore. Causa: java.lang.IllegalArgumentException: è richiesto dataSource o dataSourceClassName o jdbcUrl.
Soluzione:
La ragione principale è che, nel processo di configurazione delle sorgenti dati nella versione 1.0, vengono scritte le principali: spring.datasource.url e spring.datasource.driverClassName. Dopo l'aggiornamento alla 2.0, devi cambiarlo in: spring.datasource.jdbc-url e spring.datasource.driver-class-name per risolvere il problema!
Caricamento classe 'com.mysql.jdbc.Driver'. Questo è deprecato. La nuova classe di driver è 'com.mysql.cj.jdbc.Driver'. Il driver viene registrato automaticamente tramite lo SPI e il caricamento manuale della classe driver è generalmente non necessario.
Soluzione:
com.mysql.jdbc.Driver è quello presente in mysql-connector-java 5, com.mysql.cj.jdbc.Driver è in mysql-connector-java 6
Devi specificare il fuso orario serverTimezone, quando imposti il fuso orario, se imposti serverTimezone=UTC, sarà 8 ore avanti rispetto all'ora della Cina, se sei in Cina puoi scegliere Asia/Shanghai o Asia/Hong Kong, ad esempio: jdbc:mysql://localhost:3306/test? serverTimezone=Shanghai&useUnicode=true&characterEncoding=utf8&useSSL=false
|