java.sql.SQLException: No suitable driver 问题解决

问题出现

自己在写一个连接C3P0数据库连接池库的测试类,运行该类后出现了下图这个问题

这是我写的测试类

package demo;import com.mchange.v2.c3p0.ComboPooledDataSource;import javax.sql.DataSource;
import java.sql.Connection;
import java.sql.SQLException;public class test {public static DataSource ds = null; // 声明一个数据源static {ds = new ComboPooledDataSource();}public static void main(String[] args) throws SQLException {Connection conn = ds.getConnection();System.out.println(conn);if (conn!= null) {System.out.println("连接成功");} else {System.out.println("连接失败");}}
}

运行这个Java文件,控制台在这里卡了很久... 

大概10秒之后就出现了这样的问题:java.sql.SQLException: No suitable driver

到控制台的末尾就直接结束了,即运行这个Java代码没有成功


分析与解决

我试过了以下方法,都没有成功解决:

1. c3p0-config.xml 文件是否有书写错误

但检查后,并没有哪里写错,排除

<?xml version="1.0" encoding="UTF-8"?>
<c3p0-config><default-config><property name="driverClass">com.mysql.cj.jdbc.Driver</property><property name="jdbcUrl">jdbc:mysql://localhost:3306/company?serverTimezone=UTC&amp;useUnicode=true&amp;characterEncoding=utf-8</property><property name="user">root</property><property name="password">2076805863</property></default-config>
</c3p0-config>

2. 没有将mysql-connector-java-****-bin.jar包加入到Java运行环境的外部jar包的存放的位置。或者没有Build Path

我的相关jar都是通过maven里的pom联网导入下载的,项目结构里也显示有相关jar包,排除

项目结构如下:

3. 驱动jarbao版本不兼容

这个我自己也排查过了,MySQL版本是8.0.33,jar包版本也是8.0.33,不是不兼容的问题,排除


具体我是怎么解决的,是我自己先写了个测试类,如下

package demo;import com.mchange.v2.c3p0.ComboPooledDataSource;import javax.sql.DataSource;
import java.sql.Connection;
import java.sql.SQLException;public class test {public static DataSource ds = null; // 声明一个数据源static {ds = new ComboPooledDataSource("test");}public static void main(String[] args) throws SQLException {Connection conn = ds.getConnection();System.out.println(conn);if (conn!= null) {System.out.println("连接成功");} else {System.out.println("连接失败");}}
}

再到 c3p0-config.xml 文件下加上这个相关的内容:

当我在点击test类测试的时候,控制台出现了下面这样的新问题:

虽然还是没有运行成功,但是多了个新问题。这也就代表着我刚刚在c3p0-config.xml 文件下添加的内容是无效的,系统没有识别到。

所以我就想,是不是我 c3p0-config.xml 文件放错位置了

因为我的IDEA是2023版本的,项目结构目录是这样的:

我是直接把这个xml文件放在了src里面,出现刚才那样的新问题应该是我整个xml文件是无效的。

所以我把xml文件移动到了src 下面的 main 下面的 resources文件夹下,没有放在那个META-INF文件夹下,如下图:

再去运行刚才的test.java文件,结果运行成功,唰的一下,很快~~~


总结

所有以后看到了java.sql.SQLException: No suitable driver的问题

从以下方法找问题:

1. c3p0-config.xml 文件是否有书写错误

2. 没有将mysql-connector-java-****-bin.jar包加入到Java运行环境的外部jar包的存放的位置。或者没有Build Path

3. 驱动jarbao版本不兼容

4. c3p0-config.xml 文件的位置是否放错地方

我的原因就是放错了地方,但是好像早期IDEA版本是可以直接将c3p0-config.xml文件放在  src根目录下的,应该是IDEA版本问题,对,就是这个

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/222824.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Java根据指定端口关闭进程(端口占用 Web server failed to start. Port 6061 was already in use.)

查询指定端口的pid netstat -ano | findstr 6063杀掉进程 taskkill /f /pid 36804

MySQL基本SQL语句(上)

MySQL基本SQL语句&#xff08;上&#xff09; 一、客户端工具的使用 1、客户端工具mysql使用 mysql: mysql命令行工具&#xff0c;一般用来连接访问mysql数据库 选项说明-u, --username指定登录用户名-p, --password指定登录密码(注意是小写p),一定要放到最后面-h, --hostn…

1、环境搭建

开发工具下载安装 要求电脑内存8G以上&#xff0c;建议16 下载安装包 进入官网点击下载 https://developer.harmonyos.com/cn/develop/deveco-studio/ 解压并安装 一路next进行安装 在这里插入图片描述 到此位置&#xff0c;安装完成&#xff0c;叉掉当前检测界面即可使用该…

java多线程-扩展知识二:线程的生命周期

1、生命周期 生命周期有广义与狭义之分&#xff0c;狭义为生命科学术语&#xff0c;指包括人类在内的一切动物由出生到死亡经历的生命全程。广义的生命周期泛指自然界与人类社会各种客观事物的阶段性变化及规律&#xff0c;如家庭生命周期、产品生命周期等。本义即狭义的生命周…

【JavaEE】Java中的多线程 (Thread类)

作者主页&#xff1a;paper jie_博客 本文作者&#xff1a;大家好&#xff0c;我是paper jie&#xff0c;感谢你阅读本文&#xff0c;欢迎一建三连哦。 本文录入于《JavaEE》专栏&#xff0c;本专栏是针对于大学生&#xff0c;编程小白精心打造的。笔者用重金(时间和精力)打造&…

用队列和栈分别实现栈和队列

用队列实现栈 题目解读 本题的要求是要用两个队列来实现一个先进后出的栈&#xff0c;并且要有以下功能&#xff1a; 1.将元素压入栈中 2.移除栈顶元素并且返回他 3.返回栈顶元素 4.判断栈是否为空 题目构思和代码实现 我们首先要做的就是将实现队列的代码导入该题&#xff…

C语言打印九九乘法表的多种方式多种形式(完整,左上,左下,右上,右下)

&#x1f4e2;博客主页&#xff1a;肩匣与橘&#x1f4e2;欢迎点赞 &#x1f44d; 收藏 ⭐留言 &#x1f4dd; 如有错误敬请指正&#xff01;&#x1f4e2;本文由肩匣与橘编写&#xff0c;首发于CSDN&#x1f649;&#x1f4e2;生活依旧是美好而又温柔的&#xff0c;你也是✨ …

CodeWhisperer——一个十分强大的工具

使用心得&#xff1a; Amazon CodeWhisperer 是亚⻢逊出品的一款基于机器学习的 AI 编程助手&#xff0c;可实时提供代码建议。现在已正式可用&#xff0c;面向个人提供免费服务&#xff0c;通过在各种流行的 IDE 里集成 CodeWhisperer&#xff08;包括我们常用的 JetBrains 产…

AIGC 创业公司还没盈利,微软、Adobe 已赚得盆满钵满

一出奥特曼在 OpenAI「来去之间」的戏码&#xff0c;以回归暂告一段落。 过程很抓马&#xff0c;吃瓜群众很激动&#xff0c;当然了&#xff0c;最开心的还得是微软。 不仅因为这出「闹剧」无论怎么发展&#xff0c;都是微软稳赢&#xff0c;还因为背后潜藏着一个更大的瓜—— …

UniPro集成华为云WeLink 为企业客户构建互为联接的协作平台

华为云WeLink是华为开启数字化办公体验、帮助企业实现数字化转型的实践&#xff0c;类似钉钉。UniPro的客户企业中&#xff0c;有使用WeLink作为协作工具的&#xff0c;基于客户的实际业务需求&#xff0c;UniPro实现了与WeLink集成的能力&#xff0c;以帮助客户企业丰富和扩展…

尝试访问启动磁盘设置时出错怎么办?保姆级教程!

用户案例&#xff1a;尝试访问启动磁盘设置时出错 “由于专业所需软件仅支持Windows系统&#xff0c;我决定在我的MAC电脑上安装Windows 10双系统。然而&#xff0c;安装完成后遇到了问题。Boot Camp打开时报错&#xff1a;“尝试访问启动磁盘设置时出错”&#xff0c;同时…

线上问题整理-ConcurrentModificationException异常

项目场景&#xff1a; 商品改价&#xff1a;商品改价中通过多线程批量处理经过 Lists.partition拆分的集合对象 问题描述 商品改价中通过多线程批量处理经过 Lists.partition拆分的集合对象&#xff0c;发现偶尔会报 java.util.ConcurrentModificationException: nullat jav…