序文
最近、mybatis-generator
データベース逆生成ツールを使用すると、次のエラーが発生しましたjava.sql.SQLException: Unknown system variable 'query_cache_size'
。
1.理由分析
- 接続されているデータベースのバージョンが
8.0.20
- プロジェクトで使用されるJDBCドライバーの
mysql-connector-java
バージョンは5.1.41
- 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 版本中被移除了。
明らかに、データベースドライバとデータベースバージョンは一貫していません。
2、バージョン対応表
次の表は、mysql-connector-javaとJDBC、MySQL、JRE、およびJDKのバージョン間の対応をまとめたものです。
三、解決策
2.1より高いバージョンのドライバーを導入する
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.11</version>
</dependency>
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を導入することも可能であるため、接続構成情報を変更する必要はありません。
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.11</version>
</dependency>
spring:
datasource: # 数据源的相关配置
driver-class-name: com.mysql.jdbc.Driver
url: jdbc:mysql://localhost:3306/shop?&useUnicode=true&characterEncoding=UTF-8&autoReconnect=true