一个数据库版本兼容问题

mysql旧的版本号是:5.3.10

本机版本号是:8.0.22

报错:"com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Could not create"

1.程序里做兼容:

xml 复制代码
<dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>8.0.13</version>
        </dependency>

2.更改mysal的驱动换成

com.mysql.cj.jdbc.Driver

3.在访问mysql的url后加入时区设置

&serverTimezone=UTC

这样就可以解决问题了!

com.mysql.cj.jdbc.Driver 和 com.mysql.jdbc.Driver 有什么区别?

回答:

com.mysql.cj.jdbc.Driver 和 com.mysql.jdbc.Driver 都是 MySQL 数据库的 JDBC 驱动类,但它们对应着不同的 MySQL JDBC 驱动版本,具有一些区别:

MySQL Connector/J 8.0 以后的版本使用 com.mysql.cj.jdbc.Driver:

com.mysql.cj.jdbc.Driver 是 MySQL Connector/J 8.0 版本及以后版本中的驱动类。

这个版本引入了一些新的功能、性能优化和改进,同时也修复了一些旧版本中的 bug。

它支持新的连接属性、时区设置等功能。

MySQL Connector/J 5.x 版本使用 com.mysql.jdbc.Driver:

com.mysql.jdbc.Driver 是 MySQL Connector/J 5.x 版本中的驱动类。

这是 Connector/J 的旧版本,如果你的应用程序使用的是这个版本,通常需要考虑升级到 8.0 版本以获取更好的性能和功能支持。

总之,com.mysql.cj.jdbc.Driver 是 MySQL Connector/J 8.0 以后版本的 JDBC 驱动类,而 com.mysql.jdbc.Driver 是 5.x 版本的 JDBC 驱动类。如果你正在创建一个新的应用程序或者进行驱动升级,建议使用 com.mysql.cj.jdbc.Driver,因为它包含了较新的功能和改进。如果你的应用程序已经使用了 5.x 版本的驱动,并且没有升级的计划,那么可以继续使用 com.mysql.jdbc.Driver,但也可以考虑升级到新版本以获得更多好处。

相关推荐
煎蛋学姐6 分钟前
SSM基于J2EE的山西旅游网站的设计与实现iiqmx(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。
java·数据库·java-ee·ssm 框架·山西旅游网站·在线预订系统
咸甜适中8 分钟前
rust语言,将JSON中的所有值以字符串形式存储到sqlite数据库中(逐行注释)
数据库·rust·sqlite·json
树下水月21 分钟前
python 连接hive2 数据库
开发语言·数据库·python
DARLING Zero two♡1 小时前
用Rust构建一个OCR命令行工具
数据库·rust·ocr
蟹至之1 小时前
增删查改基础(其三)—— 聚合函数、分组查询(group by与having)、内置函数
数据库·mysql·增删查改
2501_941111242 小时前
Django全栈开发入门:构建一个博客系统
jvm·数据库·python
Wang's Blog2 小时前
MySQL: 数据库索引深度解析:B树与哈希索引的结构、应用与优化策略
数据库·b树·mysql
2501_941112143 小时前
Python Web爬虫入门:使用Requests和BeautifulSoup
jvm·数据库·python
d***9353 小时前
Redis五种用途
数据库·redis·缓存
Armyyyyy丶3 小时前
MySQL系列之数据读取与存储核心机制
数据库·mysql·架构分析