Este artículo es un artículo espejo de traducción automática, por favor haga clic aquí para saltar al artículo original.

Vista: 12307|Respuesta: 0

[Fuente] Soluciones de errores comunes de Spring MySQL

[Copiar enlace]
Publicado en 15/1/2019 15:24:50 | | |
Error al consultar la base de datos. Causa: org.springframework.jdbc.CannotGetJdbcConnectionException: No se ha conseguido la conexión JDBC; La excepción anidada es java.sql.SQLException: El valor de la zona horaria del servidor 'Öйú±ê×1/4ʱ1/4ä' no está reconocido o representa más de una zona horaria. Debes configurar el servidor o el controlador JDBC (a través de la propiedad de configuración serverTimezone) para usar un valor de zona horaria más específico si quieres utilizar soporte para zonas horarias. ### El error puede existir en com/itsvse/es/mapper/AccountMapper.java (mejor suposición) ### El error puede involucrar com.itsvse.es.mapper.AccountMapper.findAllStudent ### El error ocurrió mientras ejecutando una consulta ### Causa:


Solución:

¿Después de la cadena de conexión, añadir? serverTimezone=UTC
UTC es el Tiempo Universal Estándar Uniforme.
Ejemplo completo de cadena de conexión: jdbc:mysql://localhost:3306/test?serverTimezone=UTC
O hay otra opción: jdbc:mysql://127.0.0.1:3306/test?useUnicode=true&characterEncoding=UTF-8, esto es para resolver el problema de la entrada distorsionada en chino, por supuesto, también puede combinarse con lo anterior: jdbc:mysql://127.0.0.1:3306/test?useUnicode=true& characterEncoding=UTF-8&serverTimezone=UTC



Excepción anidada es org.apache.ibatis.exceptions.PersistenceException: ### Error consultando base de datos. Causa: java.lang.IllegalArgumentException: se requiere dataSource o dataSourceClassName o jdbcUrl.



Solución:

La razón principal es que, en el proceso de configurar fuentes de datos en la versión 1.0, se escriben las principales: spring.datasource.url y spring.datasource.driverClassName.
Después de la actualización a la 2.0, tienes que cambiarlo a: spring.datasource.jdbc-url y spring.datasource.driver-class-name para resolver el problema.


Cargando la clase 'com.mysql.jdbc.Driver'. Esto está obsoleto. La nueva clase de conductores es 'com.mysql.cj.jdbc.Driver'. El conductor se registra automáticamente mediante el SPI y la carga manual de la clase de conductores generalmente no es necesaria.


Solución:

com.mysql.jdbc.Driver es el que está en mysql-connector-java 5,
com.mysql.cj.jdbc.Driver está en mysql-connector-java 6


Necesitas especificar la zona horaria serverTimezone, al configurar la zona horaria, si configuras serverTimezone=UTC, estará 8 horas por delante de la hora de China; si estás en China, puedes elegir Asia/Shanghái o Asia/Hong Kong, por ejemplo: jdbc:mysql://localhost:3306/test? serverTimezone=Shanghai&useUnicode=true&characterEncoding=utf8&useSSL=false






Anterior:Libros de texto de inglés Longman packpack Libros de texto de inglés
Próximo:Spring Boot utiliza Druid con la propiedad: error spring.datasource.filters
Renuncia:
Todo el software, materiales de programación o artículos publicados por Code Farmer Network son únicamente para fines de aprendizaje e investigación; El contenido anterior no se utilizará con fines comerciales o ilegales; de lo contrario, los usuarios asumirán todas las consecuencias. La información de este sitio proviene de Internet, y las disputas de derechos de autor no tienen nada que ver con este sitio. Debes eliminar completamente el contenido anterior de tu ordenador en un plazo de 24 horas desde la descarga. Si te gusta el programa, por favor apoya el software genuino, compra el registro y obtén mejores servicios genuinos. Si hay alguna infracción, por favor contáctanos por correo electrónico.

Mail To:help@itsvse.com