could not load class com.mysql.jdbc.driver_c3p0数据源配置抛出Could not load driverClass com.mysql.jdbc.Driv...

1.0 配置c3p0数据源,一直提示 无法加载数据库驱动。

但是明明有驱动,非常疑惑。。。。。

com.mchange.v2.c3p0.DriverManagerDataSource ---- Could not load driverClass com.mysql.jdbc.Driver

java.lang.ClassNotFoundException: com.mysql.jdbc.Driver

at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1311)

at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1145)

at java.lang.Class.forName0(Native Method)

at java.lang.Class.forName(Class.java:264)

at com.mchange.v2.c3p0.DriverManagerDataSource.ensureDriverLoaded(DriverManagerDataSource.java:112)

at com.mchange.v2.c3p0.DriverManagerDataSource.getConnection(DriverManagerDataSource.java:144)

at com.mchange.v2.c3p0.WrapperConnectionPoolDataSource.getPooledConnection(WrapperConnectionPoolDataSource.java:195)

at com.mchange.v2.c3p0.WrapperConnectionPoolDataSource.getPooledConnection(WrapperConnectionPoolDataSource.java:184)

at com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool$1PooledConnectionResourcePoolManager.acquireResource(C3P0PooledConnectionPool.java:200)

at com.mchange.v2.resourcepool.BasicResourcePool.doAcquire(BasicResourcePool.java:1086)

at com.mchange.v2.resourcepool.BasicResourcePool.doAcquireAndDecrementPendingAcquiresWithinLockOnSuccess(BasicResourcePool.java:1073)

at com.mchange.v2.resourcepool.BasicResourcePool.access$800(BasicResourcePool.java:44)

at com.mchange.v2.resourcepool.BasicResourcePool$ScatteredAcquireTask.run(BasicResourcePool.java:1810)

at com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread.run(ThreadPoolAsynchronousRunner.java:696)

com.mchange.v2.c3p0.DriverManagerDataSource ---- Could not load driverClass com.mysql.jdbc.Driver

2.0 查看spring-applicationcontext.xml

仔细观察,木有任何问题,他么的 ,水缸里还能把王八跑了?

3.0查看jdbc.properties

jdbc.driverClassName=com.mysql.jdbc.Driver

jdbc.url=jdbc\:mysql\://localhost\:3306/dftsms?useUnicode\=true&characterEncoding\=UTF8

jdbc.username=root

jdbc.password=1234

jdbc.initialPoolSize=10

jdbc.maxIdleTime=120

jdbc.acquireIncrement=2

jdbc.idleConnectionTestPeriod=60

仔仔细细看完,木有任何问题啊 ,这他么怎么回事儿。。。。。。

最后,经过多方查证,马丹,原来是jdbc.properties 文件中jdbc.driverClassName=com.mysql.jdbc.Driver,这一句配置 后面有个空格。。。。。。。

问题很恶心,结果很尴尬。。。。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 这个错误的意思是:无法加载驱动程序类com.mysql.cj.jdbc.driver。 这通常是因为没有在程序中正确配置MySQL JDBC驱动程序。请确保已正确安装了驱动程序并在代码中正确导入了它。 ### 回答2: 问题分析: 当我们在使用Java连接MySQL数据库时,可能会遇到如下错误:"could not load driverclass com.mysql.cj.jdbc.driver"。 这个问题本质上是因为找不到对应的JDBC驱动程序导致的。 解决方案: 1.检查是否缺少MySQLJDBC驱动包。 首先要确认你的项目中是否引入了MySQLJDBC驱动包。如果没有引入,需要手动下载MySQLJDBC驱动包,然后在项目中引入。如果已经引入了,需要检查是否是正确的版本。 2.确认驱动包是否被正确加载。 在项目中引入MySQLJDBC驱动包后,需要确保驱动被正确加载。可以使用以下代码来测试是否可以成功加载: ``` Class.forName("com.mysql.cj.jdbc.Driver"); ``` 如果成功加载,就说明驱动包配置正确;如果出现异常,则说明底层类库找不到该驱动程序。 3.修改驱动程序名字。 在一些版本的驱动程序包中,驱动程序名可能已经被修改了。例如,从MySQL 5.x开始,驱动名称从com.mysql.jdbc.Driver更改为com.mysql.cj.jdbc.Driver。如果发现代码中的驱动名称和引入的驱动包名称不一致,则需要修改代码中的驱动名称以适配已引入的驱动包。 4.检查是否存在class路径问题。 如果仍然无法解决该问题,有可能是因为class路径设置不正确导致的。需要检查classpath是否正确配置。同时还需注意,如果是在IDE下使用,需要检查IDE的Project Properties中是否设置了正确的classpath。 5.检查SQL语句和连接字符串是否正确。 最后,需要检查SQL语句和连接字符串是否正确。可能是SQL语句错误或连接字符串设置不正确导致的。判断连接字符串是否配置正确,可以在浏览器上输入访问的地址和端口号,检查是否可以访问到MySQL服务器。 总结: “could not load driverclass com.mysql.cj.jdbc.driver”错误通常是由于以下几个原因引起的:缺少MySQLJDBC驱动包、驱动程序名字不正确、class路径设置不正确、SQL语句或连接字符串设置不正确。我们可以根据错误提示、所在环境等原因来进行排查,找出最可能的原因并进行修复。 ### 回答3: 这个问题的出现通常是由于缺少MySQL JDBC驱动程序或在应用程序代码中指定了错误的驱动程序类名。解决此问题的方法包括: 1. 检查MySQL JDBC驱动程序是否已正确安装。如果没有,请从MySQL官方网站下载并安装适当版本的驱动程序。如果已经安装但仍然出现此问题,则尝试重新安装或更新驱动程序版本。 2. 检查应用程序的配置文件或代码,确保指定了正确的MySQL JDBC驱动程序类名。正确的类名应为com.mysql.jdbc.Driver(对于老版本的驱动程序)或com.mysql.cj.jdbc.Driver(对于新版本的驱动程序)。 3. 检查应用程序所用的JVM类路径是否正确,以确保MySQL JDBC驱动程序在类路径中可用。可以通过在命令行或IDE中指定类路径来解决此问题。 4. 如果使用Java EE容器(如Tomcat或JBoss),请确保将MySQL JDBC驱动程序包括在应用程序的WAR或EAR文件中,而不是依赖于容器提供的驱动程序。此外,还应检查容器的类加载器设置,以确保能够正确加载MySQL JDBC驱动程序。 总之,要解决"could not load driverclass com.mysql.cj.jdbc.driver"的问题,需要仔细检查驱动程序安装、应用程序代码、类路径配置和容器设置等方面,找出并修复问题的根本原因。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值