Druid连接MySQL数据库兼容性报错的解决方法

大家好,这里是睿智的仓鼠。

注意,这篇文章使用原始的导入jar包操作,没有使用Maven管理。但是在Maven中解决问题的思路也是一致的。

报错信息

先来看错误信息:

警告: Cannot resolve com.mysq.jdbc.Connection.ping method.  Will use 'SELECT 1' instead.
java.lang.NullPointerException

连接池的getConnection()方法报错,错误类型是空指针异常。

解决方法

解决这个问题的方法是,检查你的druid版本与mysql-connector数据库驱动版本是否兼容
出现这个问题时,我使用的版本是:

  • IDEA 2021.2
  • druid-1.0.9
  • mysql-connector-java-8.0.26

进入Druid的Maven仓库查看兼容信息:
仓库地址:https://mvnrepository.com/artifact/com.alibaba/druid

我的Druid版本是1.0.9,在Maven仓库中我找到了1.1.0的版本,它是2017年的产物,也非常古老了。
在这里插入图片描述
找到你当前的版本,点击进入,下拉查看依赖情况。

其中,version 是编译时依赖项的版本号,updates 是依赖项的最新版本号。

项目中推荐使用version列所给的版本号。如果使用最新的依赖项,可能会产生兼容性问题
在这里插入图片描述
可以看到,druid1.1.0的版本,编译时的MySQL驱动版本只是5.1.39,这已经说明问题了。

经过查证,在mysql-connector5.1.49之前,不存在cj包,而在mysql-connector6及以后的版本就有了。所以,在mysql-connector5.1.49之前编译的Druid,不支持mysql-connector6之后的版本。

可见,这个错误是由于Druid的版本过低导致的。重新下载更高版本的Druid jar包,配置进项目即可。尝试更换druid-1.1.22,顺利解决报错。

  • 5
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
### 回答1: 要将DruidMySQL数据库中的数据导入到本地MySQL数据库,可以按照以下步骤进行操作: 1. 在本地MySQL数据库中创建与DruidMySQL数据库相同的表结构,可以使用CREATE TABLE语句来创建表。 2. 在本地MySQL数据库中创建一个与DruidMySQL数据库连接的数据源,可以使用MySQL命令行客户端或者其他MySQL客户端工具连接。 3. 在本地MySQL数据库中使用SELECT语句DruidMySQL数据库中的数据,并将结果保存到本地的一个临时文件中。 4. 在本地MySQL数据库中使用LOAD DATA INFILE语句将临时文件中的数据导入到本地MySQL数据库中的表中。 需要注意的是,如果DruidMySQL数据库中的数据量比较大,那么可能需要分批导入或者使用专业的数据迁移工具来完成数据的迁移。同时,在导入数据时也需要注意数据的一致性和正确性。 ### 回答2: 要把druidMySQL数据库中的数据导入本地MySQL数据库,可以参考下面的步骤: 1. 首先,确保本地MySQL数据库已经启动并且可以连接。如果还没有安装MySQL数据库,可以先进行安装并启动。 2. 打开druidMySQL数据库的管理工具,如phpMyAdmin、Navicat等,登录并选择要导出的数据库。 3. 在导出数据库之前,可以根据需要选择要导出的数据表或者整个数据库。如果只需要导出特定的数据表,可以在管理工具中选择对应的表。 4. 导出数据的方式可以选择导出为SQL文件或者导出为CSV文件。选择合适的导出选项,并且保存导出文件到本地计算机。 5. 然后,打开本地MySQL数据库的管理工具,登录并选择要导入数据的数据库。如果还没有创建目标数据库,可以先进行创建。 6. 在管理工具中选择导入选项,并且选择之前导出的文件进行导入操作。 7. 导入过程中可能需要设置一些选项,如字符集、导入方式等,根据实际情况进行选择和设置。 8. 确认导入选项设置无误后,开始执行导入操作。导入过程可能需要一些时间,取决于导入的数据量和网络速度。 9. 导入完成后,可以在本地MySQL数据库的管理工具中看导入的数据,确保导入成功。 总结:通过以上步骤,就可以将druidMySQL数据库中的数据成功导入到本地的MySQL数据库中。 ### 回答3: 要将DruidMySQL数据库中的数据导入到本地MySQL数据库,可以按照以下步骤进行操作: 1. 首先,确保本地MySQL数据库已经正确安装并启动。 2. 在DruidMySQL数据库中,使用导出工具(如mysqldump)将数据导出为SQL文件。可以使用以下命令导出整个数据库: ``` mysqldump -u 用户名 -p 密码 数据库名 > 导出文件名.sql ``` 3. 将导出的SQL文件复制到本地机器上,并确保路径和文件名正确。 4. 在本地MySQL数据库中,创建新的数据库(如果已存在,则跳过此步骤): ``` CREATE DATABASE 新数据库名; ``` 5. 在本地MySQL数据库中,使用导入工具(如mysql或source命令)导入SQL文件。可以使用以下命令导入数据: ``` mysql -u 用户名 -p 密码 新数据库名 < 导出文件名.sql ``` 6. 等待导入过程完成,导入的速度取决于数据量的大小,可能需要一些时间。 7. 导入完成后,可以使用本地MySQL数据库客户端工具验证数据是否正确导入,并执行必要的询和操作。 总结起来,将DruidMySQL数据库中的数据导入到本地MySQL数据库需要导出源数据库的SQL文件,然后在本地创建目标数据库并导入SQL文件。最后,通过本地MySQL客户端工具验证数据是否正确导入。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值