JDBC 异常排查记录
问题1: JDBC报错 java.sql.SQLException: Unknown system variable ‘query_cache_size’
原因: 数据库使用的最新版本的MySQL 8,驱动版本过低
解决: 更新依赖包
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.11</version>
</dependency>
问题2: JDBC报错 The server time zone value ‘???ú±ê×??±??’ is unrecognized or represents…
原因: 从MySQL 6开始就需要指定时区serverTimezone
解决: 在配置文件jdbc.url里指定serverTimezone,比如指定上海时区serverTimezone=Asia/Shanghai
jdbc.url=jdbc:mysql://localhost:3306/mybatis?useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai&useSSL=false
问题3: JDBC报错 Loading class `com.mysql.jdbc.Driver’. This is deprecated. The new driver class is `com.mysql.cj.jdbc.Driver’….
原因: 从MySQL 6开始官方指定将com.mysql.jdbc.Driver 改为 com.mysql.cj.jdbc.Driver
解决: 将jdbc.driverClass=com.mysql.jdbc.Driver 改为 jdbc.driverClass=com.mysql.cj.jdbc.Driver