проблема с использованием JDBC для подключения к MySQL - PullRequest
1 голос
/ 19 января 2011

Я пытаюсь установить соединение между моим апплетом и моим сервером MySQL, используя jdbc

Я добавил 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 добавляется в путь сборки и появляется в ссылочных библиотеках.

исключение выдается

.

Class.forName ( "com.mysql.jdbc.Driver") newInstance ();

Кто-нибудь понял, почему?

Заранее спасибо Джейсон

Ответы [ 3 ]

3 голосов
/ 19 января 2011

Запускаете ли вы это приложение через Eclipse? Это динамический веб-проект, если это так, попробуйте добавить файл JAR в папку WEB-INF \ lib

2 голосов
/ 19 января 2011

Тогда JAR не находится в пути к классам среды выполнения.

Поскольку вы явно упомянули «проект», я предполагаю, что вы используете IDE.Вы должны добавить JAR-файл к так называемому Build Path (который представляет собой путь к классам времени компиляции и выполнения).Например, в Eclipse щелкните правой кнопкой мыши файл JAR, который вы перетащили в папку проекта, выберите Путь сборки> Добавить в путь сборки , и это должно быть.

alt text

См. Также:


Обновление : если он продолжает жаловаться,тогда это все еще не в пути к классам времени выполнения.Либо вы сделали это неправильно, либо среда выполнения не использовала этот JAR.Вы запускали его как Java-приложение или как Java-апплет?(хотя это плохая практика - делать JDBC внутри апплета).Если вы на самом деле запускаете это как апплет, он также должен быть в пути к классам апплета.Вы можете указать его в атрибуте / параметре archive апплета.

1 голос
/ 19 января 2011

Ваш код в порядке!Он будет работать, когда:

  1. Ваш mysql-connector-java-5 * -bin.jar на месте.
  2. Логин и пароль верны.
  3. Ваша база данных существует
  4. Ваша таблица существует
  5. Ваши ColumnA и ColumnB являются целыми числами

    Если вы используете IDE, просто добавьте банку в библиотеки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...