另一个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