找不到适合 'jdbc:mysql://localhost:3306/mysql 的驱动程序

2022-08-31 16:57:25

使用Java,我在尝试连接到mysql数据库时收到此错误:

java.sql.SQLException: No suitable driver found for 
jdbc:mysql://localhost:3306/mysql at
java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at MyTest1.main(MyTest1.java:28)

我正在使用驱动程序。它在我的构建路径中。我已经重新启动了MySQL。我也从命令行登录,没有密码,它连接得很好。我目前在 netstat 中没有看到端口 3306。以前我收到一个不同的错误(我没有更改代码)。错误是“jdbc mysql 访问被拒绝的用户 'root'@'localhost password NO”mysql-connector-java-5.1.18-bin.jar

try {
    Class.forName("com.mysql.jdbc.Driver");
} 
catch (ClassNotFoundException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
} 


try {
    String url = "jdbc:mysql://localhost:3306/mysql";
    Connection con = DriverManager.getConnection(url, "root", "");
}
catch (Exception e){
    e.printStackTrace();
}

答案 1

在这种特殊情况下(假设没有引发异常;您的代码是继续运行而不是抛出异常),这意味着 Driver#acceptsURL() 已返回任何已加载的驱动程序。Class#forName()SQLExceptionfalse

事实上,你的JDBC网址是错误的:

String url = "'jdbc:mysql://localhost:3306/mysql";

删除单引号:

String url = "jdbc:mysql://localhost:3306/mysql";

另请参阅:


答案 2

您必须为 mysql 连接器设置类路径.jar

在 eclipse 中,使用构建路径

如果您正在开发任何Web应用程序,则必须将mysql连接器放在Web应用程序的WEB-INF目录的lib文件夹中


推荐