JFinal项目中,如何连接两个不同版本的mysql数据库?

一、说明

产生此笔记的原因,在于今天对某个 JFinal 项目进行数据库的升级,结果导致了如下问题:

(注:下图为从网上所找,因问题处理后,不想再返回去截图了)

 

二、处理过程:

1、原系统中的数据库连接说明:

数据库一版本:mysql 5.5.62

数据库二版本:mysql 5.5以后(第三方应用的,不能做版本变更处理)

数据库连接的jar包:mysql-connector-java-5.1.20-bin.jar

连接池jar包:druid-1.0.5.jar

 

由于两个数据库的大版本一致,因此驱动使用同一个。但在其中一个数据库升级后,导致两个数据库的驱动版本不一致。

 

2、升级后的信息

数据库一版本:mysql 8.0.19

数据库二版本:mysql 5.5以后(第三方应用的,不能做版本变更处理)

数据库连接的jar包:mysql-connector-java-8.0.19.jar

连接池jar包:druid-1.1.16.jar

修改有关连接串后,数据库一可以正常连接;但数据库二无法连接,因为旧版本的数据库不支持cache_sha_password的账号密码加密方式,从而导致了上述错误。

 

3、解决办法

数据库的版本当然不能变了。仍然保持一个8.0.19版本,另一个为5.5版本。

数据库连接的jar包,使用两个:mysql-connector-java-8.0.19.jar 和 数据库连接的jar包:mysql-connector-java-5.1.20-bin.jar

连接池jar包:druid-1.1.16.jar

 

关键:增加driverClass设置

连接8.0.19的数据库时,

driverClassName1=com.mysql.cj.jdbc.Driver

连接5.5的数据库时,

driverClassName2=com.mysql.jdbc.Driver

这样数据库连接时,会去找相应的驱动jar包,就可以了。

posted @ 2021-06-19 18:03  三晋一枝发  阅读(592)  评论(0编辑  收藏  举报