使用Java时,我在try 连接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-connector-java-5.1.18-bin.jar司机.它在我的构建路径中.我重新启动了MySQL.我也从命令行用root登录,没有密码,连接良好.我目前在netstat中没有看到3306端口.之前我遇到了一个不同的错误(我没有更改代码).错误为"拒绝用户'root'@'localhost密码号的jdbc mysql访问"

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();
}

推荐答案

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

实际上,您的JDBC URL是错误的:

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

删除单引号:

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

另见:

Mysql相关问答推荐

try 使用TypeORM创建新表时出现SQL语法错误

MySQL添加表会将&@@&qot;追加到表名

JPA对具有动态键和动态值的JSON列的原生查询

计算男生的人数和女生的人数.学生是有入学记录的人

在MySQL中使用FIRST_VALUE()

如何在sql中包含0作为计数?

MySQL 可以用于将列表排序为三分之三吗?

如何使用mysql更新列中的json数据

使用sql查找源和最终目的地

MySql,如何从列中替换某种格式的字符串

MYSQL除以零警告,奇怪的行为

处理 Visits 表中数百万行的最佳方法是什么?

如何在考虑另一表的值的情况下计算一列的值

进行 MySQL COUNT 查询

如何在 MySQL 中搜索多个列?

在连接条件上使用 IS NULL 或 IS NOT NULL - 理论问题

如何将时刻 JS 时间插入 MySQL

MySQL ORDER BY rand(),名称为 ASC

加快 mysql 转储和导入

MySQLgo 除非数字字符进行比较