Java使用JDBC连接到MySQL数据库

Java使用JDBC连接到MySQL数据库,java,mysql,maven,jdbc,Java,Mysql,Maven,Jdbc,我试图创建一个程序,使用JDBC连接到MySQL数据库。但当我尝试运行它时,会出现以下错误:- java.sql.SQLException: No suitable driver found for a9442ca6-992c-411b-8bda-a42f00a0ab2e.mysql.sequelizer.com at java.sql.DriverManager.getConnection(DriverManager.java:596) at java.sql.DriverMa

我试图创建一个程序,使用JDBC连接到MySQL数据库。但当我尝试运行它时,会出现以下错误:-

java.sql.SQLException: No suitable driver found for a9442ca6-992c-411b-8bda-a42f00a0ab2e.mysql.sequelizer.com
    at java.sql.DriverManager.getConnection(DriverManager.java:596)
    at java.sql.DriverManager.getConnection(DriverManager.java:215)
    at DVDLibrary.MySQLDBConnection.testConnect(MySQLDBConnection.java:24)
    at DVDLibrary.MainClass.main(MainClass.java:12)
我已经安装了Maven,并将MySQL依赖项添加到POM文件中(见下文)。但是我的程序仍然无法运行。有人能帮忙吗

<dependencies>
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.17</version>
            <type>jar</type>
            <scope>compile</scope>
        </dependency>
    </dependencies>
</project>

package DVDLibrary;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

public class MySQLDBConnection {

        public void testConnect(){

        String dbUrl = "xxx";
        String username  = "xxx";
        String password  = "xxx";
        String dbClass = "com.mysql.jdbc.Driver";

        String query = "SELECT * FROM DVD Info Table";

        try {

            Class.forName(dbClass);
            Connection connection = DriverManager.getConnection(dbUrl, username, password);

            Statement statement = connection.createStatement();
            ResultSet resultSet = statement.executeQuery(query);

            while (resultSet.next()) {
                String tableName = resultSet.getString(1);
                System.out.println(tableName);
            }
            connection.close();

        }
        catch (ClassNotFoundException e) {
            e.printStackTrace();
        }
        catch (SQLException e) {
            e.printStackTrace();
        }
    }

}

您必须将mysql-connector-java-5.1.18-bin jar添加到库中

这是一个示例类,包含打开和关闭数据库连接的方法

public class Database {
    public static Connection con() throws ClassNotFoundException, SQLException{
        Class.forName("com.mysql.jdbc.Driver");
        Connection c = DriverManager.getConnection("jdbc:mysql://localhost:3306/DatabaseName", "User", "Password");

        return c ;
    }

    public static void con_close(Connection c) {
        try {
            if(c!=null)
            c.close();
        } catch (SQLException sQLException) {
            System.out.println(sQLException + "Database connection closing failure");
        }
    }

        public static void stmt_close(Statement s) {
        try {
            if(s!=null)
            s.close();
        } catch (SQLException sQLException) {
            System.out.println(sQLException + "Statement closing failure");
        }
    }
    public static void rs_close(ResultSet r) {
        try {
            if(r!=null)
            r.close();
        } catch (SQLException sQLException) {
            System.out.println(sQLException + "ResultSet closing failure");
        }
    }


}

请将mysql JDBC驱动程序添加到类路径,然后重试。您可以从下载它,或者如果您没有它并加载它。事情应该会好起来的。 下面是一个示例代码:

 Connection getConnection() {
    try {
        Class.forName("com.mysql.jdbc.Driver");
        Connection conn = DriverManager.getConnection(
                "jdbc:mysql:localhost:3306/Database", "username",
                "password");
        if (!conn.isClosed())
            return conn;
    } catch (ClassNotFoundException | SQLException e) {
        e.printStackTrace();
    }
    return null;
}

您的类路径中是否有连接器/jjar?dbUrl的可能重复项不应该是:“jdbc:mysql//someHost:3306/someDbName”?您好。谢谢你的帖子:-)。我已经下载了JDBC驱动程序并将其添加到我的项目中。但是我仍然有同样的问题。你检查过你的dbURL了吗?因为它应该从jdbc:mysql:ip:port/db syntax开始,你正在使用哪个ide?是的,谢谢大家的帮助。我的dbUrl开头缺少了“jdbc:mysql:”部分,这是一个问题。现在都在工作。
 Connection getConnection() {
    try {
        Class.forName("com.mysql.jdbc.Driver");
        Connection conn = DriverManager.getConnection(
                "jdbc:mysql:localhost:3306/Database", "username",
                "password");
        if (!conn.isClosed())
            return conn;
    } catch (ClassNotFoundException | SQLException e) {
        e.printStackTrace();
    }
    return null;
}