Napaka pri poizvedbah v bazi podatkov. Vzrok: org.springframework.jdbc.CannotGetJdbcConnectionException: Ni uspelo pridobiti JDBC povezave; Gnezdena izjema je java.sql.SQLException: Vrednost časovnega pasu strežnika 'Öйú±ê×1/4ʱ1/4ä' ni prepoznana ali predstavlja več kot eno časovno cono. Če želite izkoristiti podporo za časovne pasove, morate konfigurirati bodisi strežnik ali JDBC gonilnik (prek lastnosti konfiguracije serverTimezone), da uporablja bolj specifično vrednost časovnega pasu. ### Napaka lahko obstaja v com/itsvse/es/mapper/AccountMapper.java (najboljša domneva) ### Napaka lahko vključuje com.itsvse.es.mapper.AccountMapper.findAllStudent ### Napaka se je zgodila med izvajanje poizvedbe ### Vzrok:
Rešitev:
Po povezovalnem nizu, dodaj? serverTimezone=UTC UTC je enotni standardni univerzalni čas. Primer celotnega povezovalnega niza: jdbc:mysql://localhost:3306/test?serverTimezone=UTC Ali pa obstaja še ena možnost: jdbc:mysql://127.0.0.1:3306/test?useUnicode=true&characterEncoding=UTF-8, to je za reševanje problema kitajskega popačenega vnosa, seveda pa se lahko kombinira tudi z zgoraj navedenim: jdbc:mysql://127.0.0.1:3306/test?useUnicode=true& characterEncoding=UTF-8&serverTimezone=UTC
gnezdena izjema je org.apache.ibatis.exceptions.PersistenceException: ### Podatkovna baza poizvedb o napakah. Vzrok: java.lang.IllegalArgumentException: dataSource ali dataSourceClassName ali jdbcUrl je potreben.
Rešitev:
Glavni razlog je, da so pri konfiguraciji podatkovnih virov v različici 1.0 glavni zapisani: spring.datasource.url in spring.datasource.driverClassName. Po nadgradnji 2.0 morate to spremeniti v: spring.datasource.jdbc-url in spring.datasource.driver-class-name, da rešite težavo!
Nalaganje razreda 'com.mysql.jdbc.Driver'. To je zastarelo. Novi razred gonilnika je 'com.mysql.cj.jdbc.Driver'. Gonilnik se samodejno registrira prek SPI, ročno nalaganje razreda gonilnika pa običajno ni potrebno.
Rešitev:
com.mysql.jdbc.Driver je tisti v mysql-connector-java 5, com.mysql.cj.jdbc.Driver is in mysql-connector-java 6
Določiti morate časovni pas strežnikČasovni pas, pri nastavljanju časovnega pasu, če nastavite serverTimezone=UTC, bo to 8 ur pred kitajskim časom, če ste na Kitajskem, lahko izberete Azijo/Šanghaj ali Azijo/Hongkong, na primer: jdbc:mysql://localhost:3306/test? serverTimezone=Shanghai&useUnicode=true&characterEncoding=utf8&useSSL=false
|