java.sql.SQLException : No suitable driver found for jdbc:mysql://localhost:3306/dbname

标签 java mysql sql jdbc connectivity

我有这个 Java 程序:MySQLConnectExample.java

import java.sql.*;
import java.util.Properties;

public class MySQLConnectExample {
    public static void main(String[] args) {
        Connection conn1 = null;
        Connection conn2 = null;
        Connection conn3 = null;

        try {
            String url1 = "jdbc:mysql://localhost:3306/aavikme";
            String user = "root";
            String password = "aa";

            conn1 = DriverManager.getConnection(url1, user, password);
            if (conn1 != null)
                System.out.println("Connected to the database test1");

            String url2 = "jdbc:mysql://localhost:3306/aavikme?user=root&password=aa";
            conn2 = DriverManager.getConnection(url2);
            if (conn2 != null) {
                System.out.println("Connected to the database test2");
            }

            String url3 = "jdbc:mysql://localhost:3306/aavikme";
            Properties info = new Properties();
            info.put("user", "root");
            info.put("password", "aa");

            conn3 = DriverManager.getConnection(url3, info);
            if (conn3 != null) {
                System.out.println("Connected to the database test3");
            }
        } catch (SQLException ex) {
            System.out.println("An error occurred. Maybe user/password is invalid");
            ex.printStackTrace();
        }
    }
}

我是这样编译的:

E:\java mysql code driver>javac MySQLConnectExample.java

E:\java mysql code driver>java -cp mysql-connector-java-3.0.11-stable-bin.jar;.
MySQLConnectExample

我收到此错误:

An error occurred. Maybe user/password is invalid
java.sql.SQLException: No suitable driver found for jdbc:mysql://localhost:3306/
aavikme
        at java.sql.DriverManager.getConnection(DriverManager.java:596)
        at java.sql.DriverManager.getConnection(DriverManager.java:215)
        at MySQLConnectExample.main(MySQLConnectExample.java:20)

我做错了什么?

最佳答案

确保你先运行这个:

Class.forName("com.mysql.jdbc.Driver");

这会强制驱动程序自行注册,以便 Java 知道如何处理这些数据库连接字符串。

有关详细信息,请参阅 MySQL Connector reference .

关于java.sql.SQLException : No suitable driver found for jdbc:mysql://localhost:3306/dbname,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22384710/

相关文章:

mysql - 哪个更快 : a lookup on a large denormalized table or a join between three smaller tables?

php - 如何使用 LIKE 忽略 mysql 搜索查询中的空格?

sql - 区分 SQL ID、个人用户和 AD 组

java - 子表字段的无后端排序

WebPagetest 的 Java 测试客户端

带有 Jersey 和 Tomcat 的 Java Web 服务。 ¿如何在 Web 服务停止时停止所有线程?

php - 如何使用 SESSION 数据来选择 1 个数据库条目,然后使用 PHP 和 MySQL 中的表单数据插入到另一个表中?

sql - LAG 函数和 NULL

java - 尝试在 Android Studio 中打开 Unity Activity 会产生 android.content.res.Resources$NotFoundException : String resource ID #0x0

javaout 类型映射不适用于指针的 std::vector