我在运行代码时遇到一个奇怪的异常。
public MySQL()
{
Connection conn = null;
String userName = "admin";
String password = "admin";
try
{
Class.forName("com.mysql.jdbc.driver");
conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/testbase",userName,password);
System.out.println("CONNECTED");
}
catch (Exception e)
{
e.printStackTrace();
System.out.println("Can't connect to database!");
}
}
我得到的只是这个例外。
java.lang.ClassNotFoundException: com.mysql.jdbc.driver
at java.net.URLClassLoader.findClass(URLClassLoader.java:382)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:264)
Can't connect to database! at com.baze.gimnazija.MySQL.<init>(MySQL.java:15)
at com.baze.gimnazija.Main.main(Main.java:9)
我已连接图书馆。
答案 0 :(得分:3)
问题在这里:
Class.forName("com.mysql.jdbc.driver");
这不是课程的名称。 Java 区分大小写,因此您必须遵守大写字母。
Class.forName("com.mysql.jdbc.Driver");
如果使用Mysql 8,则驱动程序类已更改:
Class.forName("com.mysql.cj.jdbc.Driver").newInstance();
注意:如果您使用的是Java 7或更高版本,则可以省略该行代码。