我正在尝试使用jdbc
在我的applet和我的mysql服务器之间建立连接我将jar mysql-connector-java-5.1.14-bin.jar添加到项目
然后我使用了这段代码
public void databaseTesting(){
Connection con;
try {
Class.forName("com.mysql.jdbc.Driver").newInstance();
con = DriverManager.getConnection( "jdbc:mysql://localhost:3306/test", "root","");
System.err.println("connected !");
Statement stmt = con.createStatement();
ResultSet rs = stmt.executeQuery("SELECT * FROM `test`.`test`;");
while (rs.next()) {
int A = rs.getInt("columnA");
int B = rs.getInt("columnB");
System.err.println("A "+A+" B "+B);
}
} catch (SQLException e) {
System.err.println("failed to connect");
} catch (InstantiationException e) {
System.err.println("InstantiationException");
} catch (IllegalAccessException e) {
System.err.println("IllegalAccessException");
} catch (ClassNotFoundException e) {
System.err.println("ClassNotFoundException");
}
}
由于某种原因,我不断收到ClassNotFoundException。
修改
将jar添加到构建路径并显示在Referenced Libraries中。
抛出异常
的Class.forName( “com.mysql.jdbc.Driver”)的newInstance();
有人知道为什么吗?
先谢谢杰森
答案 0 :(得分:2)
然后JAR不在运行时类路径中。
由于您明确提到“项目”,我假设您正在使用IDE。您必须将JAR文件添加到所谓的构建路径(它表示编译时和运行时类路径)。例如,在Eclipse中,右键单击您在项目文件夹中删除的JAR文件,选择 Build Path>添加到构建路径,应该是它。
更新:如果它一直抱怨,那么它仍然不在运行时类路径中。要么你做错了,要么运行时环境没有使用这个JAR。您是作为Java应用程序还是Java Applet运行的? (尽管在applet中执行JDBC是一种不好的做法)。如果您实际上将其作为applet运行,那么它也必须位于applet的运行时类路径中。您可以在小程序的archive
属性/参数中指定它。
答案 1 :(得分:2)
你是否通过eclipse运行这个应用程序?它是一个动态Web项目,如果是,那么尝试将jar文件添加到WEB-INF \ lib文件夹
答案 2 :(得分:1)
你的代码没问题!它适用于:
您的ColumnA和ColumnB是整数
如果您使用的是IDE,只需将jar添加到Libraries即可。