首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么我得到一个没有找到合适的驱动程序的错误?

为什么我得到一个没有找到合适的驱动程序的错误?
EN

Stack Overflow用户
提问于 2020-07-08 04:55:29
回答 1查看 36关注 0票数 0

我正在尝试连接到本地主机上的数据库。Mysql正在运行,数据库名称为employees。我确认端口、用户名和密码正确无误。

java、class和jar文件位于同一文件夹中。我尝试将jar文件添加到系统环境变量中的CLASSPATH中,并尝试使用-cp添加它,如下所示。

代码语言:javascript
复制
javac -cp . relearnjdbc.java

javac -cp ./mysql-connector-java-8.0.20.jar relearnjdbc.java

javac -cp *.jar relearnjdbc.java

我还尝试将文件分离到它们自己的文件夹src、class和bin中。

代码语言:javascript
复制
javac -cp ../bin -d ../class relearnjdbc.java

这是我的代码

代码语言:javascript
复制
public class relearnjdbc {
    public static String url = "jdbc:mysql://localhost:3306/employees";
    public static String username = "root";
    public static String password = "root";

    public static void main(String[] args){
        System.out.println("Connecting to DB...");

    
        try{
            //Class.forName("com.mysql.jdbc.Driver");
            Class.forName("com.mysql.jdbc.Driver").newInstance();
            //Connection connection = DriverManager.getConnection(url, username, password);
            DriverManager.getConnection(url, username, password);
            System.out.println("Connected!");
        }catch (Exception e){
            throw new IllegalStateException("cannot connect to DB ", e);
        }
    }
}

这些给了java.lang.ClassNotFoundException。我知道它被弃用了,但在许多类似问题的答案中都有它。

代码语言:javascript
复制
Class.forName("com.mysql.jdbc.Driver").newInstance();
Class.forName("com.mysql.jdbc.Driver");

我没有使用IDE、tomcat、netbeans、apache、phpadmin或其他任何东西。据我所知,许多其他问过这个问题的人正在使用其中的一个,或者他们的类路径中没有jar文件。

EN

回答 1

Stack Overflow用户

发布于 2020-07-08 05:03:12

在java.sql.Driver连接器/J中实现MySQL的类名已从com.mysql.jdbc.Driver更改为com.mysql.cj.jdbc.Driver.旧的类名已被弃用docs

试试Class.forName("com.mysql.cj.jdbc.Driver").newInstance();

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62783801

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档