关于一个数据库连接报错的解决:Exception in thread "main"java.lang.ClassNotFoundException:com.mysql.jdbc.Driver报错
添加完jar包后运行代码出现了以下报错界面:
查过相关资料显示没有导入jar包,但此时jar包已经导入并且已经Add as library
运行jar文件出现以下界面:
当时怀疑是jar文件中缺少了某个文件夹导致,重新下载,导入了jar包,重新添加后又出现了错误:
翻译以下提示语句:不赞成使用com.mysql.jdbc.Driver'这个数据驱动,新的数据库驱动是:The new driver class is com.mysql.cj.jdbc.Driver'.
那么将注册驱动改为:Class.forName("com.mysql.cj.jdbc.Driver");
改前:Class.forName("com.mysql.jdbc.Driver");
再运行一次出现了新的问题:
这个是异常,服务器时区值无法识别或表示多个时区。要解决这个问题,在连接的数据后面加上 ?serverTimezone=GMT,即可。
再次运行,出现:
出现这样的警告原因主要是JDBC的版本与MySQL的版本不兼容,而MySQL在高版本需要指明是否进行SSL连接。简单的来说, 就是需要设置一下useSSL,可以设置为false来禁用SSL,或者设置为true来使用SSL,即加上useSSL=false
修改后的代码:
Connection conn= DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/db1?serverTimezone=UTC&useSSL=false","root","871242");
运行结果:
至此问题被解决