problem description
springboot failed to start
the environmental background of the problems and what methods you have tried
springboot failed to start, and console has a lot of error messages
at first, springboot could not find mapper, and then read the Q & An and found that mapper could be annotated with @ component
, but there were a lot of errors as soon as it started. (I just learned springboot, and followed the online tutorials. I don"t know what"s wrong.)
related codes
/ / Please paste the code text below (do not replace the code with pictures)
< hr > < H2 > SpringbootApplication.java < / H2 > < hr >package com.luc.springboot;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
@MapperScan("com.luc.springboot.mapper")
public class SpringbootApplication {
public static void main(String[] args) {
SpringApplication.run(SpringbootApplication.class, args);
}
}
< hr >
< H2 > application.yml < / H2 >
< hr >
server:
port: 8080
-sharp servlet:
-sharp context-path: /hello
spring:
mvc:
view:
prefix: /WEB-INF/views/
suffix: .jsp
datasource:
url: jdbc:mysql://localhost:3306/test?characterEncoding=UTF-8
username: root
password: admin
driver-class-name: com.mysql.jdbc.Driver -sharp com.mysql.cj.jdbc.Driver
jpa:
show-sql: true
hibernate:
ddl-auto: update
-sharpdebug: true
-sharp
luc:
title: abcde
description: abcde
-sharp log
logging:
path: classpath:/log.txt
-sharp level: debug
-sharp log
< hr >
< H2 > StudentMapper.java < / H2 >
< hr >
package com.luc.springboot.mapper;
import com.luc.springboot.domain.Student;
import org.apache.ibatis.annotations.Select;
import org.springframework.stereotype.Component;
import java.util.List;
@Component
public interface StudentMapper{
@Select("select * from student")
List<Student> findALL();
}
< H2 > StudentController.java < / H2 >
package com.luc.springboot.controller;
import com.luc.springboot.domain.Student;
import com.luc.springboot.mapper.StudentMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
@RestController
public class StudentController {
@Autowired
private StudentMapper studentMapper;
@RequestMapping("/student")
public String student(){
List<Student> students = studentMapper.findALL();
return students.toString();
}
}
what result do you expect? What is the error message actually seen?
the expected result must be that you want to run normally
error message (too much, I didn"t intercept general information)
Loading class com.mysql.jdbc.Driver". This is deprecated. The new driver class is
com.mysql.cj.jdbc.Driver". The driver is automatically registered via the SPI and manual loading of the driver class is generally unnecessary.
2018-11-08 11 INFO 35 restartedMain 07.988 INFO 5820-[restartedMain] com.zaxxer.hikari.HikariDataSource: HikariPool-1-Starting.
2018-11-08 11 Fringe 35 Switzerland 07.988 WARN 5820-[restartedMain] com.zaxxer.hikari.util.DriverDataSource: Registered driver with driverClassName=com.mysql.jdbc.Driver was not found, Trying direct instantiation.
2018-11-08 11 ERROR 5820-[restartedMain] com.zaxxer.hikari.pool.HikariPool: HikariPool-1-Exception during pool initialization.
java.sql.SQLException: The server time zone value "given host is unrecognized or represents more than one time zone. You must configure either the server or JDBC driver (via the serverTimezone configuration property) to use a more specifc time zone value if you want to utilize time zone support.
at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:129) ~[mysql-connector-java-8.0.13.jar:8.0.13]
at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:97) ~[mysql-connector-java-8.0.13.jar:8.0.13]
2018-11-08 11 o.s.b.a.orm.jpa.DatabaseLookup: Unable to determine jdbc url from datasource 35 o.s.b.a.orm.jpa.DatabaseLookup: Unable to determine jdbc url from datasource 09.491 WARN 5820-[restartedMain]
org.springframework.jdbc.support.MetaDataAccessException: Could not get Connection for extracting meta-data; nested exception is org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection; nested exception is java.sql.SQLException: The server time zone value "assigned host is unrecognized or represents more than one time zone. You must configure either the server or JDBC driver (via the serverTimezone configuration property) to use a more specifc time zone value if you want to utilize time zone support.
at org.springframework.jdbc.support.JdbcUtils.extractDatabaseMetaData(JdbcUtils.java:328) ~[spring-jdbc-5.1.2.RELEASE.jar:5.1.2.RELEASE]
at org.springframework.jdbc.support.JdbcUtils.extractDatabaseMetaData(JdbcUtils.java:356) ~[spring-jdbc-5.1.2.RELEASE.jar:5.1.2.RELEASE]
2018-11-08 11 Freight 35 ERROR 10.831 ERROR 5820-[restartedMain] com.zaxxer.hikari.pool.HikariPool: HikariPool-1-Exception during pool initialization.
java.sql.SQLException: The server time zone value "assigned host is unrecognized or represents more than one time zone. You must configure either the server or JDBC driver (via the serverTimezone configuration property) to use a more specifc time zone value if you want to utilize time zone support.
at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:129) ~[mysql-connector-java-8.0.13.jar:8.0.13]
at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:97) ~[mysql-connector-java-8.0.13.jar:8.0.13]
2018-11-08 11 11 WARN 5820-[restartedMain] o.h.e.j.e.i.JdbcEnvironmentInitiator: HHH000342: Could not obtain connection to query metadata: The server time zone value "assigned host is unrecognized or represents more than one time zone. You must configure either the server or JDBC driver (via the serverTimezone configuration property) to use a more specifc time zone value if you want to utilize time zone support.
2018-11-08 11 Freight 35 WARN 10.836 WARN 5820-[restartedMain] ConfigServletWebServerApplicationContext: Exception encountered during context initialization-cancelling refresh attempt: org.springframework.beans.factory.BeanCreationException: Error creating bean with name "entityManagerFactory" defined in class path resource [org/springframework/boot/autoconfigure/orm/jpa/HibernateJpaConfiguration.class]: Invocation of init method failed; Nested exception is org.hibernate.service.spi.ServiceException: Unable to create requested service [org.hibernate.engine.jdbc.env.spi.JdbcEnvironment]
Related cause: org.springframework.beans.factory.BeanCreationException: Error creating bean with name "studentMapper" defined in file [D:ProjectJavaWebProjectspringbootspringboottargetclassescomlucspringbootmapperStudentMapper.class]: Invocation of init method failed; nested exception is java.lang.IllegalArgumentException: Property" sqlSessionFactory" or "sqlSessionTemplate" are required
2018-11-08 11 11 Fraser 35 ERROR 10.858 ERROR 5820-[restartedMain] o.s.boot.SpringApplication: Application run failed
org.springframework.beans.factory.BeanCreationException: Error creating bean with name "entityManagerFactory" defined in class path resource [org/springframework/boot/autoconfigure/orm/jpa/HibernateJpaConfiguration.class]: Invocation of init method failed; nested exception is org.hibernate.service.spi.ServiceException: Unable to create requested service [org.hibernate.engine.jdbc.env.spi.JdbcEnvironment]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1745) ~[spring-beans-5.1.2.RELEASE.jar:5.1.2.RELEASE]