另一个jdbc:mysql没有合适的驱动程序,Spring + Hibernate [重复]

Posted

技术标签:

【中文标题】另一个jdbc:mysql没有合适的驱动程序,Spring + Hibernate [重复]【英文标题】:Yet another jdbc:mysql no suitable driver, Spring+Hibernate [duplicate] 【发布时间】:2011-07-11 10:48:29 【问题描述】:

我正在尝试在 NetBeans 的 Spring/Hibernate 项目中运行 mysql 数据库连接。但是,我总是得到一个

java.sql.SQLException: No suitable driver found for "jdbc:mysql://127.0.0.1/test"

部署时出现异常。到目前为止,我读过的解决方案都没有解决我的问题。

applicationContext.xml:

<bean id="myDataSource"
      class="org.springframework.jdbc.datasource.DriverManagerDataSource"
      p:driverClassName="com.mysql.jdbc.Driver"
      p:url="$database.url"
      p:username="$database.username"
      p:password="$database.password" />

其中 database.* 存储在属性文件中。 jdbc 连接器 .jar 文件列在库中(即设置了类路径)。当我展开它时,会列出 com.mysql.jdbc.Driver。

我已经尝试了本地安装的连接器并下载了我能找到的最新版本 (5.1.15)。我可以通过在 NetBeans 的服务选项卡中单击“连接”来连接我之前使用相同驱动程序配置的 jdbc 连接器。从 IDE 外部使用此示例代码时,它也可以工作:

import java.sql.*;
import java.util.Properties;
public class DBDemo

 private static final String dbClassName = "com.mysql.jdbc.Driver";
 private static final String CONNECTION = "jdbc:mysql://127.0.0.1/test";
 public static void main(String[] args) throws ClassNotFoundException
 
   System.out.println(dbClassName);
   Class.forName(dbClassName);
   Properties p = new Properties();
   p.put("user","root");
   p.put("password","root");
   Connection c = DriverManager.getConnection(CONNECTION,p);
   System.out.println("It works !");
   c.close();
 

关于我可能做错的任何想法?

【问题讨论】:

【参考方案1】:

如果缺少驱动程序,您宁愿看到ClassNotFoundException

这个特定的意味着没有一个加载的驱动程序接受给定的 URL。我会说,这些引用看起来很可疑,它们通常不会出现在这个例外中。 $database.url 来自哪里?它包含引号吗?摆脱它们。

【讨论】:

引号来自属性文件,但如果我删除引号,它仍然会产生相同的错误 你做了重建/重新部署/重启? 异常消息现在是无引号的吗?如果不是,那么它可能没有正确完成。 好的,我只是 (1) 删除了引号,(2) 清理了构建,(3) 重新启动了 NetBeans,以及 (4) 重新部署。它有效:)) 必须是上述的某种组合。非常感谢!!【参考方案2】:

您是否在 web-container 上部署了您的应用程序?如果是,那么您确定mysql db驱动程序打包在WEB-INF/lib目录中(部署中)。

您在 Netbeans 中的 library 下看到的扩展 jar 可能并不意味着它可以用于部署站点上的 web-app。

【讨论】:

部署站点暂时只是dist目录,连接器库就在那里

以上是关于另一个jdbc:mysql没有合适的驱动程序,Spring + Hibernate [重复]的主要内容,如果未能解决你的问题,请参考以下文章

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

Xampp 服务器上的 Java 小程序 - 在 jdbc:mysql://localhost:3306/ 上找不到合适的驱动程序

Java SQL JDBC 错误 - 找不到合适的驱动程序错误

无法加载驱动程序类:com.mysql.jdbc.Driver Spring Boot

在运行时添加 JDBC jar 时没有为 HSQL db 找到合适的 JDBC 驱动程序?

No suitable driver found for jdbc