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

news2024/11/23 7:29:46

问题出现

自己在写一个连接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.coloradmin.cn/o/1262927.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

春安航运 App Tech Support

春安航运app是一款客户可以实时查看合同进度和自助开票&#xff0c;并且提供航运实用小工具的手机软件。软件的主要功能包括合同查询功能(合同详细&#xff0c;操作船代&#xff0c;分享&#xff0c;合同执行状态&#xff0c;合同执行航线)&#xff0c; 费用结算功能(应付明细&…

Notion for Mac:打造您的专属多功能办公笔记软件

在如今这个信息爆炸的时代&#xff0c;一款高效、便捷的笔记软件对于办公人士来说已经成为必不可少的工具。Notion for Mac&#xff0c;作为一款多功能办公笔记软件&#xff0c;凭借其简洁优雅的界面、强大的功能以及无缝的云端同步&#xff0c;成为了众多用户的首选。 一、多…

【Linux】探索进程的父与子

目录 1.获取进程PID1.1进程PPID 2.通过系统调用创建进程-fork初识2.1为什么fork函数要给子进程返回0&#xff0c;给父进程返回pid&#xff1f;fork函数如何做到返回两次的&#xff1f;fork干了什么事情&#xff1f;怎么理解一个变量为什么有两个不同的值&#xff1f;如果父子进…

msng病毒分析

这是一个非常古老的文件夹病毒&#xff0c;使用XP系统的文件夹图标&#xff0c;采用VB语言开发&#xff0c;使用了一种自定义的壳来保护&#xff0c;会打开网址http://www.OpenClose.ir,通过软盘、U盘和共享目录进行传播&#xff0c;会在U盘所有的目录下生成自身的副本&#xf…

Docker 中OpenResty下载与使用

1Panel安装OpenResty 查看到就说明安装成功 部署项目 在http中添加&#xff1a; server { listen 8001; //端口号 server_name localhost; location / { root /admin; //项目路径 index index.html index.htm; …

附录12-time.h的常用方法

目录 1 数据类型 1.1 time_t 1.2 tm 1.3 clock_t 2 相关知识 3 获取从1970年1月1日以来的UTC秒数 time() 4 获取本时区时间字符串 ctime() 5 获取GMT时间的tm gmttime() 6 获取本地时间的tm localtime() 7 记录当前毫秒数 clock() 8 将表示本地时间的tm转…

口袋参谋:如何识别买家旺旺号?这招超简单!

​想要不被骗钱、跑路&#xff01;那商家在销量递增之前&#xff0c;一定要验买家旺旺号&#xff01;那如何快速验出买家是人还是“鬼”&#xff0c;我们就需要借助验号工具了。 说到这个验号工具&#xff0c;我不得不说&#xff0c;口袋参谋照妖镜查号功能&#xff0c;一键快速…

Python基础语法之学习input()函数

Python基础语法之学习input函数 前言一、代码二、效果 前言 一、代码 # 默认是字符串类型 number input("请输入一个数字&#xff1a;") print("输入的数字是",number)二、效果 没有人可以阻止你成为自己想成为的人&#xff0c;只有你自己才能放弃梦想。…

山西临县“5·7”火灾事故调查报告公布,揭秘富维烟火报警系统

近日&#xff0c;山西临县“57”火灾事故调查报告震惊全国&#xff0c;提醒我们火灾防控的重要性。在这起悲剧中&#xff0c;我们深刻认识到&#xff0c;及时发现火灾并迅速应对至关重要。这不仅是对生命安全的保护&#xff0c;也是对财产损失的有效减少。而在这方面&#xff0…

建筑工程模板包工包料价格

在建筑工程中&#xff0c;模板是承载混凝土浇筑的重要支撑结构&#xff0c;起到保持混凝土形状和支撑荷载的作用。对于建筑项目而言&#xff0c;了解建筑工程模板包工包料的价格范围是非常重要的。在本文中&#xff0c;我们将以混凝土粘模面积为基础&#xff0c;根据实际情况提…

Mysql更新varchar存储的Josn数据

Mysql更新varchar存储的Josn数据 记录一次mysql操作varchar格式存储的json字符串数据 1、检查版本 -- 版本5.7以上才可以能执行json操作 select version(); 2、创建测试数据 -- 创建测试表及测试数据 CREATE TABLE test_json_table AS SELECT UUID(), {"test1": …

独家精品!git action发布electron成功的关键

首先来说git action真心是个坑爹货&#xff0c;使用起来太费劲了&#xff0c;各种报错一大堆。 再加上electron这个更坑爹的东西&#xff0c;二者合璧要把你累死一层皮。 昨天经过反复测试&#xff0c;通过无数次的失败&#xff0c;查找&#xff0c;试验&#xff0c;再失败&a…

【吞噬星空】弧刀盘价值180亿,购买1016名强者,保卫地球

Hello,小伙伴们&#xff0c;我是拾荒君。 国漫《吞噬星空》的第95集更新了&#xff0c;一更新&#xff0c;我和我的小伙伴们就迫不及待地去观看了。在这个集剧中&#xff0c;罗峰在一个奴隶拍卖场中深切地感受到了宇宙中弱肉强食的残酷现实。他看到&#xff0c;在宇宙中&#…

ArkUI开发进阶—@Builder函数@BuilderParam装饰器的妙用与场景应用【鸿蒙专栏-05】

ArkUI开发进阶—@Builder函数@BuilderParam装饰器的妙用与场景应用 HarmonyOS,作为一款全场景分布式操作系统,为了推动更广泛的应用开发,采用了一种先进而灵活的编程语言——ArkTS。ArkTS是在TypeScript(TS)的基础上发展而来,为HarmonyOS提供了丰富的应用开发工具,使开…

32+OLED之IIC手撕亚索七级狗牌

成品效果&#xff1a; 硬件配方&#xff1a;STM32F103C8T6 SSD1306 软件配方&#xff1a;字模提取V2.1 CopyLeft By Horse2000 STM32CubeMX keil5 思路&#xff1a; 1.找到图片&#xff0c;将其转化为128*64 像素大小的二值化图片&#xff1b;【python实现转化】&#xff…

Spring --- 创建一个Spring项目

文章目录 创建一个Maven项目添加Spring框架支持添加启动类 创建一个Maven项目 注&#xff1a;我们需要使用 Maven 来管理依赖&#xff0c;所以需要创建一个Maven项目 添加Spring框架支持 注&#xff1a; 添加这两个依赖才能正确使用 Spring在添加依赖后记得刷新&#xff0c;把依…

【开源威胁情报挖掘1】引言 + 开源威胁情报挖掘框架 + 开源威胁情报采集与识别提取

基于开源信息平台的威胁情报挖掘综述 写在最前面摘要1 引言近年来的一些新型网络安全威胁类型挖掘网络威胁的情报信息威胁情报分类&#xff1a;内、外部威胁情报国内外开源威胁情报挖掘分析工作主要贡献研究范围和方法 2 开源威胁情报挖掘框架1. 开源威胁情报采集与识别2. 开源…

浅谈无线测温系统在海上石油平台高压配电盘的应用-安科瑞 蒋静

摘要&#xff1a;海上石油平台的封闭式中高压配电盘在平台电力系统起着十分重要的作用&#xff0c;通过统计其配电盘的 大部分故障为前期的热效应引起&#xff0c;由于配电盘内部空间封闭狭小&#xff0c;所以无法进行人工巡查测温&#xff0c;这给油田的供电系统埋下了一定的潜…

服务器bash进程占用cpu过多疑似中挖矿病毒记录

发现过程 因为我有使用conky的习惯&#xff0c;也就是在桌面上会显示cpu和内存的占用情况&#xff0c;由于服务器不止我一个人使用&#xff0c;最近发现好几次我同学的账户下的bash进程占用特别多&#xff0c;问了他之后&#xff0c;他也说他几次都是没有使用过bash相关服务&a…

【Java】文件I/O-文件系统操作

导读 在文件I/O这一节的知识里&#xff0c;对文件的操作主要分为两大类&#xff1a; ☑️针对文件系统进行的操作 ☑️针对文件内容进行的操作 针对文件系统进行的操作主要是对Java中的File类进行操作。这篇文章里&#xff0c;博主就来带大家看看Java中针对文件系统的一些常…