复现场景
本来在 pom.xml 中已经有了 mysql-connect 的依赖但是使用的是 Class.forName("com.mysql.jdbc.Driver")
报错
问题解决
使用 com.mysql.cj.jdbc.Driver
这个来驱动 mysql
解决这个问题。
原因分析
驱动版本:
com.mysql.cj.jdbc.Driver:这是 MySQL Connector/J 8.0 及以上版本使用的驱动类名。 com.mysql.jdbc.Driver:这是 MySQL Connector/J 5.x 及以下版本使用的驱动类名。 功能与特性:
MySQL Connector/J 8.0: 提供了更好的性能和新特性,比如对 MySQL 8.0 新特性的支持,如
JSON、GIS、窗口函数等。同时,还改进了 SSL/TLS 和 JDBC 4.2 的支持。 MySQL Connector/J 5.x:
支持 MySQL 5.x 系列的特性,但在 MySQL 8.0 的新特性上有所欠缺,并且随着时间推移,维护和更新也逐渐减少。
环境影响
这个驱动并不受 java 的版本影响, com.mysql.cj.jdbc.Driver
这个更加高级的版本是会做到向后的兼容的,所以以后的 JDBC
驱动就是用这个就好了。