解决方法:
检查MySQL、JDBC-MySQL数据库驱动版本是否对应。
例子:
(1)环境:mysql-8.0.20-winx64 + mysql-connector-java-5.1.40 +适用于mysql-5.7.15-winx64的Java代码
(2)环境:mysql-5.7.15-winx64 + mysql-connector-java-5.1.40 +适用于mysql-5.7.15-winx64的Java代码
(3)环境:mysql-5.7.15-winx64 + mysql-connector-java-8.0.19 +适用于mysql-5.7.15-winx64的Java代码(若为另一种环境,即mysql-8.0.20-winx64 + mysql-connector-java-8.0.19 +适用于mysql-5.7.15-winx64的Java代码,则报错情况相同)
结论1:
由例子(1)、(2)、(3)知只有MySQL的版本、JDBC-MySQL数据库驱动的版本、Java语句的对应版本适用性都对应的情况下(如例子(2)),对于此题情况来说,JDBC-MySQL驱动才能正常加载,DriverManager.getConnection(uri, user, password)才不会返回null,继而与数据库建立的连接才能正常建立。