我一套java代码里既要连接mysql5数据库,又要连mysql8版本,驱动jar包不兼容怎么办?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了我一套java代码里既要连接mysql5数据库,又要连mysql8版本,驱动jar包不兼容怎么办?相关的知识,希望对你有一定的参考价值。

代码需要从mysql5版本的数据里读取数据,然后送到另一个平台的mysql版本数据库中,但是mysql-connector-java 包不兼容,有没有大神知道,8版本的驱动包支持连接mysql5数据库吗。我应该怎么解决

参考技术A

如果你使用springboot的话推荐使用多数据源,多数据源时可以分别配置driverClassName,具体网上搜一下就有,比如:这个和这个

java 连接mysql数据库怎么连接

下面代码是使用jdbc直接链接mysql的操作,链接方式与SQL SERVER类似,区别在于加载的驱动不同,url的设置也有点区别,用户名、密码、端口号这些设置都类似

执行脚本返回的结果,可以看出java成功链接上mysql并获取到返回值

mysql-connector-java-5.1.26-bin.jar是java链接mysql使用的jar包,与SQL SERVER链接也有专门的jar包,jar包中包含了java链接mysql所用到的函数驱动等等,所有的jar包都是放到web工程lib目录下

如果工程是整合在ssh下,一般情况下都会有一个properties文件,该文件配置了数据库链接常用的命令,下图是mysql中的配置
使用spring框架下进行的测试,结果可以成功执行,其实无论是sql server还是mysql还是其他的数据库,基本功能都一样,只是语法结构有所区别,java在调用的过程中大部分功能只要切换了数据库链接命令就可以公用,如果系统架构设计的足够好,当我们切换数据库的时候,应用程序是不用调整就能兼容的

参考技术A

  工具:

  mysql

  下图即为java代码通过JDBC进行连接mysq,代码注释已标明在代码中

  

  前提:环境变量中要设置一下mysql才可以,否则会连接失败

  

参考技术B 第一步,定义好数据库的链接URL,说白了就是数据库所在主机的ip,端口,数据库名字,账号和密码。比如:String url="jdbc:mysql://localhost:3306/myqqusers?user=root&password=420405"; 其中,myqqusers为数据库名字
第二步,通过类加载器加载mysql驱动,class.forName("com.mysql.jdbc.Driver");
第三步,通过驱动管理器获取数据库链接对象:Connection conn=DriverManager.getConnection(url);
第四步,定义sql语句,并通过conn获取Statement对象,比如,Statement stmt=conn.createStatement();
第五步,执行sql语句,并将执行结果存入ResultSet集合,如 ResultSet res=stmt.executeQ uery(sql);
第六步,用ResultSet对象的方法(查阅API)操作需要的数据即可。
第六步,反向顺序关闭以上顺序创建的对象。即完成数据库关闭动作。

至此,完整的数据库操作完成。

以上是关于我一套java代码里既要连接mysql5数据库,又要连mysql8版本,驱动jar包不兼容怎么办?的主要内容,如果未能解决你的问题,请参考以下文章

如何让docker container里既能使用systemctl,又可以使用docker

JDBC

架构评审,技术总监怒了,丢给我一套最全的设计模式汇总

html中body中既要插入背景颜色又要设置居中方式怎么弄

Java连接MySQL数据库——代码

tcp/ip 卷一 读书笔记为什么既要有IP地址又要有MAC地址