Fejlforespørgselsdatabase. Årsag: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection; indlejret undtagelse er java.sql.SQLException: Serverens tidszoneværdi 'Öйú±ê×1/4ʱ1/4ä' er ukendt eller repræsenterer mere end én tidszone. Du skal konfigurere enten server- eller JDBC-driveren (via serverTimezone-konfigurationsegenskaben) til at bruge en mere specifik tidszoneværdi, hvis du vil benytte tidszone-understøttelse. ### Fejlen kan eksistere i com/itsvse/es/mapper/AccountMapper.java (bedste gæt) ### Fejlen kan involvere com.itsvse.es.mapper.AccountMapper.findAllStudent ### Fejlen opstod mens udførelse af en forespørgsel ### Årsag:
Opløsning:
Efter forbindelsesstrengen, tilføjelse? serverTimezone=UTC UTC er den Uniforme Standard Universel Tid. Fuld forbindelsesstreng eksempel: jdbc:mysql://localhost:3306/test?serverTimezone=UTC Eller der er en anden mulighed: jdbc:mysql://127.0.0.1:3306/test?useUnicode=true&characterEncoding=UTF-8, dette er for at løse det kinesiske forvrængede inputproblem, selvfølgelig kan det også kombineres med ovenstående: jdbc:mysql://127.0.0.1:3306/test?useUnicode=true& characterEncoding=UTF-8&serverTimezone=UTC
indlejret undtagelse er org.apache.ibatis.exceptions.PersistenceException: ### Fejlforespørgselsdatabase. Årsag: java.lang.IllegalArgumentUndtagelse: dataSource eller dataSourceClassName eller jdbcUrl er påkrævet.
Opløsning:
Hovedårsagen er, at i processen med at konfigurere datakilder i 1.0, skrives de hovedkilder: spring.datasource.url og spring.datasource.driverClassName. Efter opgraderingen 2.0 skal du ændre det til: spring.datasource.jdbc-url og spring.datasource.driver-class-name for at løse problemet!
Indlæser klassen 'com.mysql.jdbc.Driver'. Dette er forældet. Den nye driverklasse er 'com.mysql.cj.jdbc.Driver'. Føreren registreres automatisk via SPI, og manuel indlæsning af førerklassen er generelt unødvendig.
Opløsning:
com.mysql.jdbc.Driver er den i mysql-connector-java 5, com.mysql.cj.jdbc.Driver findes i mysql-connector-java 6
Du skal angive tidszonen serverTimezone, når du sætter tidszonen, hvis du sætter serverTimezone=UTC, vil den være 8 timer foran Kinas tid, hvis du er i Kina, kan du vælge Asia/Shanghai eller Asia/Hongkong, for eksempel: jdbc:mysql://localhost:3306/test? serverTimezone=Shanghai&useUnicode=true&characterEncoding=utf8&useSSL=false
|