【发布时间】:2015-08-24 03:08:19
【问题描述】:
我正在尝试在 java 中创建一个在 mysql 中有数据库的应用程序。我在网上搜索了各种来源,并在 properties->library->add JAR/Library 中包含了mysql-connector-java-5.0.8-bin.jar。
但是当我运行它时它仍然显示java.lang.ClassNotFound Exception。
我正在使用 netbeans IDE 8.0 和 jdk 1.7.0_45 和 mysql server 5.6
这是我的 jdbc mysql 连接代码:
try {
Class.forName("com.mysql.jdbc.Driver").newInstance();
System.out.println("Connecting to a selected database...");
con = DriverManager.getConnection("jdbc:mysql://localhost/prj","root","root");
System.out.println("Connected database successfully...");
s=con.createStatement();
String q="insert into call_log"+" values(now(),'room 1')";
s.executeUpdate(q);
} catch(SQLException se) {
se.printStackTrace();
} catch(Exception e) {
System.out.println(e);
} finally {
try {
if(con!=null)
con.close();
} catch(SQLException se) {
se.printStackTrace();
}
}
【问题讨论】:
-
请添加完整的堆栈跟踪。
-
这里是完整的 jdbc 代码
-
catch(SQLException se) { se.printStackTrace(); } catch(Exception e) { System.out.println(e); } 最后 { 尝试 { if(con!=null) con.close(); } catch(SQLException se) { se.printStackTrace(); } }
-
驱动程序不在运行时类路径中。请注意,
Class.forName("com.mysql.jdbc.Driver").newInstance();在过去的 15 年里是不必要的(这是早期 MySQL JDBC 驱动程序中的一个错误的解决方法),并且自 Java 6 以来就不需要Class.forName("com.mysql.jdbc.Driver");(如果你有一个 JDBC 4 兼容的驱动程序)。 -
那不使用Class.forName("com.mysql.jdbc.Driver")怎么办