问题描述
代码:
Class.forName("com.MysqL.jdbc.Driver");
MysqL = new MysqL("localhost",3306,"test","root","");
MysqL.connect();
例外:
java.lang.classNotFoundException: com.MysqL.jdbc.Driver
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:602)
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)
at java.base/java.lang.classLoader.loadClass(ClassLoader.java:522)
at java.base/java.lang.class.forName0(Native Method)
at java.base/java.lang.class.forName(Class.java:340)
at me.veteranfighter.discordbot.discordbot.main(discordbot.java:30)
我也尝试了Class.forName("com.MysqL.jdbc.Driver");
也不起作用
我使用Java 14,并且已经实现了MysqL连接罐。
也许有人可以提供帮助。会非常感谢...
解决方法
确保您的类路径中有mysql-connector.jar。为了成功连接到MySQL数据库,类路径中必须存在“ com.mysql.jdbc.Driver”。
您可以从:-下载 https://dev.mysql.com/downloads/connector/j/
,您使用了错误的完全合格的类名。由于您使用的是MySQL JDBC连接器v8.x,因此应为com.mysql.cj.jdbc.Driver
而不是com.mysql.jdbc.Driver
。检查this了解更多信息。
请注意,在大多数情况下,从JDBC 4.0开始,您不再需要使用Class.forName("...")
。
注意:如果要在服务器中部署应用程序(war文件),请确保jar(驱动程序)可用于服务器。您可以简单地将jar的副本放入服务器的lib文件夹中。但是,推荐的方法是将jar打包到战争中。