Chyba při dotazování do databáze. Příčina: org.springframework.jdbc.CannotGetJdbcConnectionException: Nepodařilo se získat JDBC Connection; Vnořená výjimka je java.sql.SQLException: Hodnota časového pásma serveru 'Öйú±ê×1/4ʱ1/4ä' není rozpoznána nebo představuje více než jedno časové pásmo. Pokud chcete využít podporu časových pásem, musíte nastavit buď serverový nebo JDBC ovladač (pomocí konfigurační vlastnosti serverTimezone), aby používal konkrétnější hodnotu časového pásma. ### Chyba může existovat v com/itsvse/es/mapper/AccountMapper.java (nejlepší odhad) ### Chyba může zahrnovat com.itsvse.es.mapper.AccountMapper.findAllStudent ### Chyba nastala, když Provádění dotazu ### Příčina:
Řešení:
Po spojovacím řetězci, přidat? serverTimezone=UTC UTC je jednotný standardní univerzální čas. Příklad plného řetězce připojení: jdbc:mysql://localhost:3306/test?serverTimezone=UTC Nebo je tu ještě jedna možnost: jdbc:mysql://127.0.0.1:3306/test?useUnicode=true&characterEncoding=UTF-8, to je pro řešení čínského problému s nesrozumitelným vstupem, samozřejmě to lze také kombinovat s výše uvedenými: jdbc:mysql://127.0.0.1:3306/test?useUnicode=true& characterEncoding=UTF-8&serverTimezone=UTC
vnořená výjimka je org.apache.ibatis.exceptions.PersistenceException: ### Databáze dotazování chyb. Příčina: java.lang.IllegalArgumentException: dataSource nebo dataSourceClassName či jdbcUrl je vyžadován.
Řešení:
Hlavním důvodem je, že při konfiguraci datových zdrojů ve verzi 1.0 jsou hlavní napsané: spring.datasource.url a spring.datasource.driverClassName. Po upgradu 2.0 je potřeba to změnit na: spring.datasource.jdbc-url a spring.datasource.driver-class-name, abyste problém vyřešili!
Načítání třídy 'com.mysql.jdbc.Driver'. To je zastaralé. Nová třída ovladače je 'com.mysql.cj.jdbc.Driver'. Ovladač je automaticky registrován přes SPI a ruční načítání třídy ovladače je obecně nepotřeba.
Řešení:
com.mysql.jdbc.Driver je ten v mysql-connector-java 5, com.mysql.cj.jdbc.Driver is in mysql-connector-java 6
Musíte zadat časové pásmo serverTimezone, při nastavení časového pásma, pokud nastavíte serverTimezone=UTC, bude to 8 hodin před čínským časem, pokud jste v Číně, můžete zvolit Asii/Šanghaj nebo Asii/Hongkong, například: jdbc:mysql://localhost:3306/test? serverTimezone=Shanghai&useUnicode=true&characterEncoding=utf8&useSSL=false
|