【问题标题】:JDBC ClassNotFoundExceptionJDBC ClassNotFoundException
【发布时间】:2016-10-02 14:31:46
【问题描述】:

我想使用 JDBC 我在类路径中添加了 Mysql 驱动程序,如下所示:

^

但即使我得到这个错误:

java.lang.ClassNotFoundException: com.mysql.jdbc.Driver at java.net.URLClassLoader$1.run(URLClassLoader.java:366) 在 java.net.URLClassLoader$1.run(URLClassLoader.java:355) 在 java.security.AccessController.doPrivileged(Native Method) 在 java.net.URLClassLoader.findClass(URLClassLoader.java:354) 在 java.lang.ClassLoader.loadClass(ClassLoader.java:425) 在 sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308) 在 java.lang.ClassLoader.loadClass(ClassLoader.java:358) 在 java.lang.Class.forName0(本机方法)在 java.lang.Class.forName(Class.java:191) 在 dao.JdbcTest1.main(JdbcTest1.java:23)

这是我的代码:

public static void main(String[] args) {
    String url = "jdbc:mysql://localhost:3306/bd_italiano";
    String utilisateur = "root";
    String motDePasse = "";

    Connection connexion = null;
    try{
        Class.forName("com.mysql.jdbc.Driver ");
        connexion = DriverManager.getConnection( url, utilisateur, motDePasse );
        DatabaseMetaData dbMetaData = connexion.getMetaData();

        System.out.println("Type de la base de données : " + dbMetaData.getDatabaseProductName());
        System.out.println("Veresion de la base de données : " + dbMetaData.getDatabaseMajorVersion());
        System.out.println("Nom du driver : " + dbMetaData.getDriverName());
        System.out.println("Nom du user de la base de données : " + dbMetaData.getUserName());

    } catch(Exception e) {
        e.printStackTrace();
    } finally {
        if(connexion!=null)
            try {
                connexion.close();
            } catch (SQLException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
    }
}

请帮帮我

【问题讨论】:

  • 不再需要使用 Class.forName 加载 JDBC 驱动程序(假设您使用 JDBC 4(或更高版本)兼容的驱动程序。另外请注意 MySQL Connector/J 5.1.18 已经很老了。

标签: java jdbc


【解决方案1】:

你有一个额外的空间。应该是Class.forName("com.mysql.jdbc.Driver") 而不是Class.forName("com.mysql.jdbc.Driver ")

【讨论】:

    【解决方案2】:

    中删除尾随空格
    Class.forName("com.mysql.jdbc.Driver ");
    

    【讨论】:

      猜你喜欢
      • 2012-06-15
      • 1970-01-01
      • 2014-09-09
      • 2012-12-03
      • 1970-01-01
      • 2011-09-10
      • 2014-09-27
      • 1970-01-01
      相关资源
      最近更新 更多