JDBC 连接 MySQL 报错 Unknown system variable ‘query_cache_size‘
发布日期:2021-06-30 12:37:19 浏览次数:2 分类:技术文章

本文共 1156 字,大约阅读时间需要 3 分钟。

文章目录

前言

最近在使用mybatis-generator数据库逆向生成工具时,出现了如下图的错误,即java.sql.SQLException: Unknown system variable 'query_cache_size'

在这里插入图片描述

一、原因分析

  1. 检查连接的数据库版本是8.0.20
  2. 项目使用的JDBC驱动mysql-connector-java的版本是5.1.41
  3. 在MYSQL官网查询相关文档

官网说法:

The query cache is deprecated as of MySQL 5.7.20, and is removed in MySQL 8.0. Deprecation includes query_cache_size.query cache 在MySQL 5.7.20 已经过时了,并且在MySQL 8.0 版本中被移除了。

很显然,是数据库驱动程序与数据库版本不一致导致的。

二、版本对应表

下表总结了 mysql-connector-java 与 JDBC、MySQL、JRE、JDK 的版本对应关系。

在这里插入图片描述

三、解决办法

2.1 引入更高版本的驱动

mysql
mysql-connector-java
8.0.11

2.2 修改连接配置信息

spring:  datasource: # 数据源的相关配置    driver-class-name: com.mysql.cj.jdbc.Driver #从com.mysql.jdbc.Driver修改为com.mysql.cj.jdbc.Driver    url: jdbc:mysql://localhost:3306/shop?useSSL=false&useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&serverTimezone=UTC

或者引入5.1.49版本的也是可以的,这样不用修改连接配置信息:

mysql
mysql-connector-java
8.0.11
spring:  datasource: # 数据源的相关配置    driver-class-name: com.mysql.jdbc.Driver    url: jdbc:mysql://localhost:3306/shop?&useUnicode=true&characterEncoding=UTF-8&autoReconnect=true

转载地址:https://javalib.blog.csdn.net/article/details/109019511 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:Linux目录详解以及软件安装规范
下一篇:浅谈 SimpleDateFormat,第三方库joda-time,JDK8提供时间类 之性能和线程安全

发表评论

最新留言

很好
[***.229.124.182]2024年05月06日 04时52分36秒