Netbeans 中的 Maven Web 项目正在抛出 java.sql.SQLException:没有为 jdbc:mysql://localhost:3306/ 找到合适的驱动程序
Posted
技术标签:
【中文标题】Netbeans 中的 Maven Web 项目正在抛出 java.sql.SQLException:没有为 jdbc:mysql://localhost:3306/ 找到合适的驱动程序【英文标题】:Maven web project in Netbeans is throwing java.sql.SQLException: No suitable driver found for jdbc:mysql://localhost:3306/ 【发布时间】:2016-05-03 20:52:18 【问题描述】:我在将 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 驱动程序根本没有自动加载。
我在这里搜索了大部分问题,但没有发现任何有用的信息。
【问题讨论】:
【参考方案1】:你也应该添加这部分
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();
【讨论】:
【参考方案2】:在我的例子中,Mac 和 Catalina OS、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 驱动程序类。
【讨论】:
请将我删除的提问部分移到评论中。您可以对自己的帖子发表评论。以上是关于Netbeans 中的 Maven Web 项目正在抛出 java.sql.SQLException:没有为 jdbc:mysql://localhost:3306/ 找到合适的驱动程序的主要内容,如果未能解决你的问题,请参考以下文章
使用 maven 编译 netbeans Web 服务项目时出错
如何使用 GitHub 中的 Maven 从 NetBeans 项目迁移到 Java CI?