问题:
是因为jdk版本和mysql版本不匹配;
出现的原因:
mysql现在主要有:5.0版本和mysql8.0版本
JDK现在常用的是:1.5、 1.6、1.7、1.8、1.9...
我这边以前是用的1.7的,但是需要升级使用数据库,需要升级数据库使用mysql8.0,然后jdk以前也是使用1.7的。
1:准备工作 MySQL驱动包
mysql版本:8.0
mysqk驱动包: mysql-connector-java-8.0.28.jar
jdk版本:18.0.2
开发工具:myeclipse2014
解决方案:
将自己使用的 jdk 和对应的mysql版本进行同步保持一致。
就是MySQL8.0的需要jdk1.8以上支持;用1.7之前都会报这个错。
然后这边开发的是web程序。
1 将运行环境修改jdk1.8
windows ->preferences-》java->installed JREs-> add -》Standard VM
点击finish就好了;选择自己要用的jdk;
在项目中
右键单击项目()- > build Path ->Add Library ->JRE System Library ->
单击finish就好了;
2 确保自己mysql8.0 驱动包在项目中;
java项目把包导进去就好;
web项目的话:需要放到:WebRoot /Web-INF/lib 下
刷新一下项目;就可以看到驱动包导入情况。《不会导入的去看看怎么导入哦》
3 如果是web项目的话:需要配置Tomcat
笔者这边开发过程中遇到:
1 测试连接成功,utils和开发dao层 测试连接数据库写入数据 成功
2 但是项目部署到 tomcat 8.0 上的时候出现连接数据库(如上报错)
com/mysql/cj/jdbc/Driver : Unsupported major.minor version 52.0
Tomcat也是8.0的
这时候就需要配置:
Window->preference->MyEclipse ->Service -》Tomcat -》Tomcat8.x -》JDK
这个jdk也是需要配置的。因为在配置tomcat的时候忘记了,然后myeclipse默认的是jdk1.7的所以自己在前面两步都ok的情况下,还是报错了。就是最后这部的问题。
如果是java项目的话,只需要对应jdk版本和驱动程序写好就行;
配置驱动程序调试代码:
/** 连接穿说明了数据库所在*/
private static final String CONN_URL= "jdbc:mysql://localhost:3306/db_aaa";
private static final String USER="test123";
private static final String PASSWORD = "123123";
/**
* @功能:获得连接
* @return :
* @user:xxxxxx
* @DATE:2024年3月2日 下午11:00:26
*/
public Connection getConn(){
Connection conn = null;
try{
//mysql8.0
Class.forName("com.mysql.cj.jdbc.Driver");
//msyql5.0
//Class.forName("com.mysql.jdbc.Driver");
conn=DriverManager.getConnection(CONN_URL,USER,PASSWORD);
}catch(ClassNotFoundException e){
e.printStackTrace();
System.out.println("Mysql 驱动没有找到或者型号不对");
}catch(SQLException e){
e.printStackTrace();
System.out.println("数据库连接失败");
}
return conn;
}
//mysql8.0
Class.forName("com.mysql.cj.jdbc.Driver");
//msyql5.0
//Class.forName("com.mysql.jdbc.Driver");