使用JDBC连接到mysql的问题

时间:2011-01-19 16:24:20

标签: java mysql jdbc

我正在尝试使用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();

有人知道为什么吗?

先谢谢杰森

3 个答案:

答案 0 :(得分:2)

然后JAR不在运行时类路径中。

由于您明确提到“项目”,我假设您正在使用IDE。您必须将JAR文件添加到所谓的构建路径(它表示编译时和运行时类路径)。例如,在Eclipse中,右键单击您在项目文件夹中删除的JAR文件,选择 Build Path>添加到构建路径,应该是它。

alt text

另见:


更新:如果它一直抱怨,那么它仍然不在运行时类路径中。要么你做错了,要么运行时环境没有使用这个JAR。您是作为Java应用程序还是Java Applet运行的? (尽管在applet中执行JDBC是一种不好的做法)。如果您实际上将其作为applet运行,那么它也必须位于applet的运行时类路径中。您可以在小程序的archive属性/参数中指定它。

答案 1 :(得分:2)

你是否通过eclipse运行这个应用程序?它是一个动态Web项目,如果是,那么尝试将jar文件添加到WEB-INF \ lib文件夹

答案 2 :(得分:1)

你的代码没问题!它适用于:

  1. 您的mysql-connector-java-5 * -bin.jar已到位。
  2. 登录&密码是正确的。
  3. 您的数据库存在
  4. 你的桌子存在
  5. 您的ColumnA和ColumnB是整数

    如果您使用的是IDE,只需将jar添加到Libraries即可。