Ошибка при запуске программы JDBC

#jdbc

#jdbc

Вопрос:

Я использую MySQL 5.5 и mysql-connector-java-5.1.15. (оба установлены новыми)

Я попробовал программу JDBC с помощью блокнота и командной строки.

Моя программа JDBC:

 import java.sql.*;
import java.io.*;


public class MysqlConnect{
  public static void main(String[] args) {

    System.out.println("MySQL Connect Example.");
    Connection conn = null;
    String url = "jdbc:mysql://localhost:3306/";
    String dbName = "employement";
    String driver = "com.mysql.jdbc.Driver";
    String userName = "root"; 
    String password = "12345";
    try {
      Class.forName(driver).newInstance();
      conn = DriverManager.getConnection(url dbName,userName,password);
      System.out.println("Connected to the database");
      conn.close();
      System.out.println("Disconnected from database");
    } catch (Exception e) {
      e.printStackTrace();
    }
  }
}
  

Я создал базу данных с именем employement в mysql….

Я пытаюсь запустить эту программу…

 C:UsersInnodeaDesktop>javac MysqlConnect.java

C:UsersInnodeaDesktop>java MysqlConnect
Exception in thread "main" java.lang.NoClassDefFoundError: MysqlConnect
Caused by: java.lang.ClassNotFoundException: MysqlConnect
        at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
Could not find the main class: MysqlConnect.  Program will exit.
  

Как устранить эту ошибку?

Также я пробовал следующим образом,

 C:UsersInnodeaDesktop>set classpath=C:Program FilesMySQLmysql-connector-ja
va-5.1.15mysql-connector-java-5.1.15.jar

C:UsersInnodeaDesktop>javac MysqlConnect.java

C:UsersInnodeaDesktop>java MysqlConnect
Exception in thread "main" java.lang.NoClassDefFoundError: MysqlConnect
Caused by: java.lang.ClassNotFoundException: MysqlConnect
        at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
Could not find the main class: MysqlConnect.  Program will exit.
  

Снова возникает та же ошибка, пожалуйста, помогите мне устранить эту ошибку и запустить программу JDBC….

Ответ №1:

 java -cp .;C:Program FilesMySQLmysql-connector-java-5.1.15mysql-connector-java-5.1.15.jar MysqlConnect
  

Ответ №2:

попробуйте использовать это —

 java -cp %CLASSPATH%;.; MysqlConnect.java
  

Или добавить . к вашему пути к классу, чтобы прочитать его как

 set classpath=C:Program FilesMySQLmysql-connector-ja va-5.1.15mysql-connector-java-5.1.15.jar;.;
  

Ваш текущий класс также должен находиться в classpath и, следовательно, в каталоге dot — current.

Ответ №3:

Использование переключателя -cp должно работать

java -cp=.;C:Program FilesMySQLmysql-connector-java-5.1.15mysql-connector-java-5.1.15.jar MysqlConnect

Почти никогда не требуется устанавливать переменную окружения CLASSPATH