我在加载MySQL JDBC驱动程序时遇到问题。我已经尝试了所有提及的here,但我仍遇到问题。
我得到的错误是:
Exception in thread "main" java.lang.ClassNotFoundException: com.mysql.jdbc.driver
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Unknown Source)
at Main.main(Main.java:12)
我的代码如下:
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
public class Main {
public static void main(String args[]) throws Exception {
//accessing the driver
Class.forName("com.mysql.jdbc.driver");
// creating variable to pass the connection information into
Connection dbcon = DriverManager.getConnection(
"jdbc:mysql//localhost:3306/test", "root", "root");
PreparedStatement statement = dbcon
.prepareStatement("select * from names");
ResultSet result = statement.executeQuery();
while (result.next()) {
System.out.println(result.getString(2));
}
}
}
正如您在上面所看到的,我已将驱动程序放在lib
文件夹中,并且我已将其放入Apache tomcat lib文件夹中,因为这也是建议的。
感谢您提供给我的任何帮助。 安德鲁
答案 0 :(得分:2)
MySql connectorJ JAR文件中的类名是Driver。所以你需要改变
Class.forName("com.mysql.jdbc.driver");
到
Class.forName("com.mysql.jdbc.Driver");
答案 1 :(得分:1)
它告诉你堆栈跟踪第一行的问题:
Exception in thread "main" java.lang.ClassNotFoundException: com.mysql.jdbc.driver
驱动程序名称为com.mysql.jdbc.Driver
(大写字母D)。
答案 2 :(得分:0)
加载mysql连接库时出现问题。请检查正确的mysql库加载是否成功。因为当库加载成功时,库包显示所有外部加载的库。