尝试连接到 Mysql 数据库时找不到类 com.mysql.jdbc.Driver jdbc
Posted
技术标签:
【中文标题】尝试连接到 Mysql 数据库时找不到类 com.mysql.jdbc.Driver jdbc【英文标题】:class not found com.mysql.jdbc.Driver jdbc when trying to connect to a Mysql Database 【发布时间】:2013-04-30 01:59:20 【问题描述】:我正在用 java 开发一个 web 应用程序,我试图使用 JDBC 模板(使用 springs dao)连接到 mysql 数据库,但我总是得到:
SEVERE: Servlet.service() for servlet [dispatcher] in context with path [/DealingOfInsiders] threw exception [Request processing failed;
nested exception is org.springframework.jdbc.CannotGetJdbcConnectionException: Could not get JDBC Connection; nested exception is org.apache.commons.dbcp.SQLNestedException: Cannot load JDBC driver class 'com.mysql.jdbc.Driver '] with root cause
java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
[....]
我认为问题来自包含目标类的文件 mysql-connector-java-5.1.25-bin.jar ... 所以我尝试了很多方法来解决这个问题:
我已经用这个 jar 配置了我的项目的构建路径,但它没有工作
我也把文件放到了文件夹里:WEB-INF/lib,没用
我已经在 Eclipse 中为这个 jar 配置了一个类路径变量(preference ->java->buildpath->classpath 变量)它没有工作
我已经把jar文件放到tomcat库里了,但是还是不行
【问题讨论】:
【参考方案1】:名字后面好像有空格?
'com.mysql.jdbc.Driver '
除此之外,“com.mysql.jdbc.Driver”是正确的。
WEB-INF/lib 文件夹是存放项目特定驱动程序和库的好地方;让 Tomcat 共享文件夹保持最新并不容易。
在 JDBC 时代,您必须使用 Class.forName( clazzName) 加载类以在向 JDBC 请求连接之前注册它,但这不是这里的问题。
【讨论】:
请在单独的问题中询问详细信息。愿意先给我(或其他人,或我们俩)一个赞成票吗? 我需要 15 的声誉才能做到这一点对不起:S【参考方案2】: 'com.mysql.jdbc.Driver '
^^ // remove this space
【讨论】:
是的,谢谢!似乎这个空间是问题(erf)但现在我得到另一个:java.lang.ClassNotFoundException:org.springframework.dao.DuplicateKeyException 也许你有线索^^ 您的 Web 应用程序库中有所有 Spring JARS 吗?还要检查查询是否正确。 我想,但我不能在 cmets 中发布整个堆栈太长,而且我是新来的,我无法在 6 小时前回答我的话题,我会尝试在互联网上检查并如果我没有找到任何东西,我会回到这里 ^^ 再次感谢 ps:我的网络应用程序库中有每个 jars,我目前正在检查查询【参考方案3】:我遇到了这个问题,但我使用的是 Postgres 驱动程序,并且我使用的是 Eclipse。如果您使用的是 Tomcat 7,请尝试将 JAR 文件添加到 Tomcat 目录中的 lib 文件夹中。这对我有用。我不必使用 Class.forName() 或将 JAR 放在我的类路径中。希望对您有所帮助。
【讨论】:
以上是关于尝试连接到 Mysql 数据库时找不到类 com.mysql.jdbc.Driver jdbc的主要内容,如果未能解决你的问题,请参考以下文章
使用 ODBC 从 Web 服务器连接到 MS Access 数据库时找不到数据源名称
安装mysqldb python接口时找不到mysql_config
无法通过php代码连接到mysql数据库,PHP致命错误:找不到类'MySQLi'