2015-06-11 6 views
3

Sory для моего слабого английского, я хочу подключиться к mysql-соединению с java, я добавил mysql-connector.jar, но класс не найден, ошибка все еще продолжается , Вот скриншот построения пути.класс не найден исключение com.mysql.jdbc.driver даже я добавил файл jar

Что я должен сделать для подключения MySQL

enter image description here

Вот код

import java.sql.Connection; 
import java.sql.DriverManager; 
import java.sql.PreparedStatement; 
import java.sql.SQLException; 


try{ 


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

       conn = DriverManager.getConnection(DB_URL,USER,PASS); 


       String sql1 = "INSERT INTO test (name) VALUES(?)"; 
       stmt = conn.prepareStatement(sql1); 

       stmt.setString(1, okey); 
       } 

       // execute insert SQL stetement 
       stmt .executeUpdate(); 


       stmt.close(); 
       conn.close(); 
      }catch(SQLException se){ 
       //Handle errors for JDBC 

       se.printStackTrace(); 
      }catch(Exception e){ 
       //Handle errors for Class.forName 
       e.printStackTrace(); 

      }finally{ 

       try{ 
       if(stmt!=null) 
        stmt.close(); 
       }catch(SQLException se2){ 
       }// nothing we can do 
       try{ 
       if(conn!=null) 
        conn.close(); 
       }catch(SQLException se){ 

       }//end finally try 
      }//end try 
+0

Это явно проблема с классом. У вас должен быть «драйвер» внутри пакета «com.mysql.jdbc», и этот пакет должен быть, в свою очередь, в банке «mysql-connector-java-5.1.53» -bin.jar "...... проверьте ваши библиотеки библиотек ... – Victor

+1

Вам даже не нужно вызывать' Class.forName ("com.mysql.jdbc.Driver"); 'поскольку JDBC v4, который эта библиотека реализует. – Pshemo

+1

Как запустить этот код? Это автономное приложение, или вы развертываете его на сервере? – Pshemo

ответ

2

Я не знаю, что IDE вы используете, но ... ты уверен, что вы не должны добавлять соединительную банку в разделе «Библиотеки» вместо «Заказ и экспорт»? Кроме того, имеется ли соединительная банка для вашего развернутого приложения (серверный контейнер, сервер EJB, что угодно), а не только доступная вам IDE?

Строго говоря, вы, вероятно, не нужен разъем баночки быть известен вашей IDE: он будет знать о интерфейсах и классах JDBC из java.sql.* (предполагается, что вы настроили его, чтобы узнать о JDK он должен использовать), и это все, что нужно, чтобы иметь возможность скомпилировать ваш код JDBC. Однако в время выполнения ваша заявка будет Нужны классы из доступной соединительной банки. Как вы это достигаете, зависит от того, какое приложение вы создаете (автономный, webapp и т. Д.) И где вы его развертываете (веб-сервер, контейнер EJB и т. Д.).

+0

Если вы не уверены, то не публикуйте его как ответ, а спросите OP об этом в комментарии. Кроме того, IDE выглядит как Eclipse и судя по доступным параметрам (вверх, вниз, вверху, кнопке, выберите/отмените выбор всех). OP не смог добавить эту библиотеку через эту вкладку, поэтому он, скорее всего, добавил ее через вкладку «Библиотеки». – Pshemo

+0

IDE - это Eclipse, как говорят Pshemo, и я уже добавил вкладку «Библиотеки jar». Вкладка «Библиотеки» –

+0

. Возможно, ваша проблема связана не с вашей средой IDE, а с путём класса вашего развернутого приложения (независимо от того, что при запуске бросает исключение, которое вы видите). Что это за приложение? Как он развертывается? – Paul

1

Ввод файла контейнера соединителя в папку «WEB-INF/lib» будет работать.

+0

Не могли бы вы добавить немного подробного описания объяснения, которое вы предоставляете? – abarisone

+0

вы просто помещаете файл jar, содержащий класс драйвера mysql (ваш файл connector.jar или mysql.jar) в папку «lib» в «WEB-INF». путь к каталогу этой папки lib уже установлен в среде IDE, и вам даже не нужно будет создавать путь к файлу. ваш проект должен работать нормально. –