IntelliJ - MySQL ClassNotFoundException

IntelliJ - MySQL ClassNotFoundException

所以我正在尝试使用 IntelliJ 和 MySQL 将远程数据库复制到我的本地数据库中,并且我已经获得了远程数据库的数据。当我尝试与 MySQL:

建立连接时出现问题
public void copyDatabase(Info info){
        try{
            Class.forName("com.mysql.jdbc.Connection");
            localConnection = DriverManager.getConnection("jdbc:mysql://localhost:3306/lsmotor_local_oltp", user, password);
        }catch(SQLException e){
            System.out.println("Problem while trying to connect to local database");
        }
        catch(ClassNotFoundException e){
            System.out.println(e);
        }
        //TODO: Copy Info into local database
}

它一直给我这个错误:java.lang.ClassNotFoundException: com.mysql.jdbc.Connection 这是第二个 catch 中打印的内容。

我的项目结构中已经有了 mysql-connector-java-8.0.172 库,如代码所示,我希望连接到 lsmotor_local_oltp 数据库,我已经创建并执行了它的代码。 我查了一下,但大多数帖子都说解决方案是使用 mysql-connector 库,我已经有了。 提前致谢,对于给您带来的不便,我们深表歉意!

参见:https://www.w3resource.com/mysql/mysql-java-connection.php

您可能没有在类路径中包含 mysql JDBC 连接器库。一旦你有了它,你应该能够运行像示例中的那样编写代码。

   Class.forName ("com.MySQL.jdbc.Driver").newInstance ();   <<< this line is the one you want (or something similar)
   String userName = "root";
   String password = "pqrs123";
   String url = "jdbc:MySQL://localhost/sakila";        
   conn = DriverManager.getConnection (url, userName, password);
   System.out.println ("\nDatabase Connection Established...");

您有异常 java.lang.ClassNotFoundException 因为 class com.mysql.jdbc.Connection 不存在。如果你想连接到你的数据库,你可以使用 this tutorial

检查属性文件中的 parameters/setup 或其他与 mysql JDBC 驱动程序相关的内容

更新:我发现在我的案例中我需要使用“com.mysql.cj.jdbc.Driver”,但现在 “尝试连接到本地数据库时出现问题” 消息弹出,这意味着现在是 SQLException 而不是 ClassNotFoundException。