在学习Spring的JdbcTemplate过程中,偶然间遇到了CannotGetJdbcConnectionException这个异常,查看代码并没有发现异常,因为数据库的连接使用的DriverManagerDataSource,并没与使用配置文件,所以不是配置文件上的问题。
org.springframework.jdbc.CannotGetJdbcConnectionException: Could not get JDBC Connection; nested exception is java.sql.SQLException: The server time zone value 'Öйú±ê׼ʱ¼ä' 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.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:80)
at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:625)
at org.springframework.jdbc.core.JdbcTemplate.update(JdbcTemplate.java:876)
at org.springframework.jdbc.core.JdbcTemplate.update(JdbcTemplate.java:937)
at org.springframework.jdbc.core.JdbcTemplate.update(JdbcTemplate.java:947)
at cn.jdbc.JdbcTemplateDemo1.test1(JdbcTemplateDemo1.java:22)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at ...
.........
经过排除发现是数据库版本是否与你引入的mysql jar包的版本不一致,数据库的版本为5.x,而引入l了8.0的mysql的jar包,导致了上面的异常。