Netbeans中的Maven Web项目正在抛出java.sql.SQLException:没有为jdbc找到合适的驱动程序:mysql:// localhost:3306 /

时间:2016-01-27 03:26:07

标签: mysql maven jdbc netbeans

我在将我的Maven Web项目连接到Netbeans中的MySQL数据库时遇到问题。每当我尝试连接时,都会抛出

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

我已将mysql-connector-java版本5.1.38依赖项添加到pom.xml文件中。然后我将mysql-connector-java-5.1.38-bin.jar添加到$ CATALINA_HOME / lib文件夹中。 WEB-INF / lib文件夹包含相同的.jar文件。如果我正在尝试

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

我的项目正在连接到数据库,没有任何例外。

我的Servlet方法下面连接到MySQL数据库

public void connectToDB(){


    try{
        String URL = "jdbc:mysql://localhost:3306/Store";
        String username = "root";
        String password = "sesame";

        Connection connection = DriverManager.getConnection(URL, username, password);
        System.out.println("DB has been connected!!!!!!!!!!!!!!!!!!");
    }catch(SQLException ex){
        for(Throwable t : ex){
            t.printStackTrace();
        }
    }
}

URL变量(端口号和主机名)是正确的。问题是JDBC驱动程序根本没有自动加载。

我在这里搜索了大部分问题,但没有找到任何有用的信息。

2 个答案:

答案 0 :(得分:1)

在我的情况下,使用Catalina OS的Mac,mysql-connector-java-8.0.19.jar和使用Maven的NetBeans项目,我需要为com.mysql.cj.jdbc.Driver而不是com.mysql.jdbc.Driver加载类。 注意“ cj”。

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

必须先于SQL驱动程序连接请求。 我完全不知道为什么,因为据我了解,在JDBC 4.0之后,不需要预加载任何SQL驱动程序类。

答案 1 :(得分:0)

你也应该添加这部分

public void connectToDB(){


    try{
        String JDBC_DRIVER = "com.mysql.jdbc.Driver";
        String URL = "jdbc:mysql://localhost:3306/Store";
        String username = "root";
        String password = "sesame";

        Class.forName(JDBC_DRIVER);
        Connection connection = DriverManager.getConnection(URL, username, password);
        System.out.println("DB has been connected!!!!!!!!!!!!!!!!!!");
    }catch(SQLException ex){
        for(Throwable t : ex){
            t.printStackTrace();
        }
    }
}