2015-12-02 3 views
0

Недавно я начал JDBC. Я установил драйверы JDBC из программного центра ubuntu и запустил свою первую Java-программу с использованием JDBC.JDBC classnotfound exception

import java.sql.*  
public class db 
{ 
    static final String JDBC_DRIVER="com.mysql.jdbc.Driver"; 
    static final String DB_URL="jdbc:mysql://localhost/emp"; 
    static final String USER= "username"; 
    static final String PASS="password"; 
    public static void main(String [] args) 
    { 
     Connection conn=DriverManager.getConnection(JDBC_DRIVER); 
     Statement stmt=null; 
     try 
     { 
      Class.forName("com.mysql.jdbc.Driver"); 
      System.out.println("Connecting to database"); 
      System.out.println("Creting statement"); 
      String sql; 
      stmt=conn.createStatement(); 
      sql="select id, first last, age from Employee"; 
      ResultSet rs= stmt.executeQuery(sql); 
      while(rs.next()) 
      { 
       int id=rs.getInt("id"); 
       int age=rs.getInt("age"); 
       String first=rs.getString("first"); 
       String last=rs.getString("Last"); 
       System.out.print("ID: "+id); 
       System.out.print(", Age: " +age); 
       System.out.print(", First: "+first); 
       System.out.println(", Last: "+last); 
      } 
      rs.close(); 
      stmt.close(); 
      conn.close(); 
     } 
     catch(SQLException se) 
     { 
      se.printStackTrace(); 
     } 
     catch(Exception e) 
     { 
      e.printStackTrace(); 
     } 
     finally 
     { 
      try 
      { 
       if(stmt!=null) 
        conn.close(); 
      } 
      catch(SQLException se) 
      { 
       se.printStackTrace(); 
      } 
     } 
    } 
} 

Я создал базу данных «emp», и я пытаюсь просмотреть ее содержимое с помощью JDBC. когда я использую

javac db.java 

все работает нормально. Однако, когда я запускаю его через

java db 

это дает мне java.lang.classnotfoundException. Я включил CLASSPATH = CLASSPATH: //user/share/java/mysql-connector-java.jar в файл bashrc. Может ли кто-нибудь помочь мне решить эту проблему?

+0

Если вы используете любую IDE, добавьте файл jar в 'WEB -INF/lib', если это веб-приложение, добавьте его в папку 'lib' и попробуйте. –

+0

no, vi и bash –

+0

Я настоятельно рекомендую вам использовать инструмент управления сборкой и зависимостями, такой как Maven, Ant + Ivy, Gradle и т. Д. Вместо того, чтобы вручную компилировать и устанавливать путь к классам. –

ответ

0
  • Положите Class.forName("com.mysql.jdbc.Driver"); до того DriverManager.getConnection() вызова, а не после того, как
  • DriverManager.getConnection() потребности URL в качестве параметра, а не имя класса драйвера, поэтому используйте Connection conn=DriverManager.getConnection(DB_URL);
+1

Весьма вероятно, что они вообще не нуждаются в инструкции 'Class.forName'. –

+0

Какой URL-адрес вы имеете в виду? жаль, что я новичок в java и JDBC –

+0

Для каждого типа базы данных вы должны указать правильный URL. В случае с MySql это будет что-то вроде: jdbc: mysql: // : /, это то, что у вас есть в вашем DB_URL. – Berger

Смежные вопросы