【数据库连接常见报错及解决】java.sql.SQLException No suitable driver

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
简介:

 

Hello,你好呀,我是灰小猿,一个超会写bug的程序猿!

今天利用spring的IOC容器连接数据库的时候又遇到了bug,所以赶紧在这里记录一下。

情况是这样的:

在IOC容器中配置连接mysql数据库的时候,进行连接测试,出现了这样的报错。

java.sql.SQLException No suitable driver

意思就是数据库驱动无法连接了,

然后就去网上查找相关解决,网上的方法也很多,但是都不是我遇到的,

我在这里总结一下出现这个错误的可能原因和解决。

1、数据库连接时的user、password、jdbcUrl、DriverClass这几个参数书写错误

这个情况是在开发中经常遇到的问题,很多时候是由于我们书写不规范造成的,数据库连接时的user一般为root,password一般为admin(当然也可能是你自己设定的)

对于jdbcUrl,标准的书写是:

jdbc:mysql://localhost:3306/数据库名

其中:

    • jdbc:mysql:// 是指JDBC连接方式;
    • localhost: 是指你的本机地址;
    • 3306 :SQL数据库的端口号;

    有很多小伙伴说这个不是特别好记,经常记不住,我在这里教给大家一个对比记忆法。

    这个网站大家应该都写过吧?

    http://localhost:8080/bookstore

    http:是传输协议,

    localhost:8080是访问地址

    后面跟着是的具体访问的是哪一个。而jdbc:mysql://localhost:3306/数据库名的记忆是和它一样的。

    最后一个是DriverClass,它所对应的参数是com.mysql.jdbc.Driver

    对于这一个参数,其实也不用记忆,我们可以直接找到数据库连接的jar包mysql-connector-java-5.1.7-bin.jar,在它的下面找到com.mysql.jdbc,再在下面找到Driver.class这个类,点开之后,在它的详细信息里面就可以看到这个连接类的全名。

    image.gif编辑

    检查以上这几个参数的书写是否正确,如果任何一个没写对,那么就会报这样的错误,我当时就是因为jdbc:mysql://localhost:3306/数据库名中mysql后面没加“:”,

    添加上去之后,再次尝试连接,问题解决:

    image.gif编辑

    2、c3p0-config.xml中的配置文件出现问题

    这种情况一般是由于jar包的问题,所以需要将数据库连接时所需要的jar包重新导入一下。

    关于java.sql.SQLException No suitable driver报错我目前遇到的可以解决的方案也就这些,小伙伴们还有其他新的解决方案的欢迎留言提出。之后再有新的解决我也会在这篇文章继续更新。

    我是灰小猿!我们下期见!

    image.gif编辑

    相关实践学习
    基于CentOS快速搭建LAMP环境
    本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
    全面了解阿里云能为你做什么
    阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
    目录
    相关文章
    |
    14天前
    |
    SQL 人工智能 算法
    【SQL server】玩转SQL server数据库:第二章 关系数据库
    【SQL server】玩转SQL server数据库:第二章 关系数据库
    52 10
    |
    1月前
    |
    SQL 存储 BI
    【软件设计师备考 专题 】数据库语言(SQL)
    【软件设计师备考 专题 】数据库语言(SQL)
    90 0
    |
    1月前
    |
    Java 数据库连接 数据库
    hibernate正向生成数据库表以及配置——TestStu.java
    hibernate正向生成数据库表以及配置——TestStu.java
    17 1
    |
    1月前
    |
    Java 数据库连接 数据库
    hibernate正向生成数据库表以及配置——Teacher.java
    hibernate正向生成数据库表以及配置——Teacher.java
    11 0
    |
    1月前
    |
    Java 数据库连接 数据库
    hibernate正向生成数据库表以及配置——Student.java
    hibernate正向生成数据库表以及配置——Student.java
    10 0
    |
    1月前
    |
    SQL 数据库
    sql server中创建数据库和表的语法
    sql server中创建数据库和表的语法
    18 1
    |
    14天前
    |
    SQL 算法 数据库
    【SQL server】玩转SQL server数据库:第三章 关系数据库标准语言SQL(二)数据查询
    【SQL server】玩转SQL server数据库:第三章 关系数据库标准语言SQL(二)数据查询
    82 6
    |
    1天前
    |
    SQL Java 数据库连接
    Java从入门到精通:2.3.2数据库编程——了解SQL语言,编写基本查询语句
    Java从入门到精通:2.3.2数据库编程——了解SQL语言,编写基本查询语句
    |
    3天前
    |
    SQL XML 数据库
    sql导入数据库命令
    在SQL Server中,数据库导入可通过多种方式实现:1) 使用SSMS的“导入数据”向导从各种源(如Excel、CSV)导入;2) BULK INSERT语句适用于导入文本文件;3) bcp命令行工具进行批量数据交换;4) OPENROWSET函数直接从外部数据源(如Excel)插入数据。在操作前,请记得备份数据库,并可能需对数据进行预处理以符合SQL Server要求。注意不同方法可能依版本和配置而异。
    |
    10天前
    |
    SQL 数据库
    数据库SQL语言实战(二)
    数据库SQL语言实战(二)