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

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS PostgreSQL,高可用系列 2核4GB
云数据库 RDS MySQL,高可用系列 2核4GB
简介:

 

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编辑

    相关实践学习
    每个IT人都想学的“Web应用上云经典架构”实战
    本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
    MySQL数据库入门学习
    本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
    目录
    相关文章
    |
    4月前
    |
    Android开发
    复杂项目即时通讯从android 5升级android x后遗症之解决报错#79 java.io.EOFException Unexpected end of ZLIB input stream-优雅草卓伊凡|bigniu
    复杂项目即时通讯从android 5升级android x后遗症之解决报错#79 java.io.EOFException Unexpected end of ZLIB input stream-优雅草卓伊凡|bigniu
    241 4
    复杂项目即时通讯从android 5升级android x后遗症之解决报错#79 java.io.EOFException Unexpected end of ZLIB input stream-优雅草卓伊凡|bigniu
    |
    3月前
    |
    Java API 开发工具
    【Azure Developer】Java代码实现获取Azure 资源的指标数据却报错 "invalid time interval input"
    在使用 Java 调用虚拟机 API 获取指标数据时,因本地时区设置非 UTC,导致时间格式解析错误。解决方法是在代码中手动指定时区为 UTC,使用 `ZoneOffset.ofHours(0)` 并结合 `withOffsetSameInstant` 方法进行时区转换,从而避免因时区差异引发的时间格式问题。
    207 3
    |
    2月前
    |
    JSON Java 数据格式
    java调用服务报错400
    java调用服务报错400
    82 6
    java调用服务报错400
    |
    7月前
    |
    负载均衡 算法 关系型数据库
    大数据大厂之MySQL数据库课程设计:揭秘MySQL集群架构负载均衡核心算法:从理论到Java代码实战,让你的数据库性能飙升!
    本文聚焦 MySQL 集群架构中的负载均衡算法,阐述其重要性。详细介绍轮询、加权轮询、最少连接、加权最少连接、随机、源地址哈希等常用算法,分析各自优缺点及适用场景。并提供 Java 语言代码实现示例,助力直观理解。文章结构清晰,语言通俗易懂,对理解和应用负载均衡算法具有实用价值和参考价值。
    大数据大厂之MySQL数据库课程设计:揭秘MySQL集群架构负载均衡核心算法:从理论到Java代码实战,让你的数据库性能飙升!
    |
    2月前
    |
    JSON Java 数据格式
    java调用服务报错415 Content type ‘application/octet-stream‘ not supported
    java调用服务报错415 Content type ‘application/octet-stream‘ not supported
    177 6
    |
    9月前
    |
    SQL Java 数据库连接
    【YashanDB知识库】解决mybatis的mapper文件sql语句结尾加分号";"报错
    【YashanDB知识库】解决mybatis的mapper文件sql语句结尾加分号";"报错
    |
    9月前
    |
    SQL
    【YashanDB知识库】使用leading hint调整SQL执行计划后报错YAS-04522 invalid hint leading
    【YashanDB知识库】使用leading hint调整SQL执行计划后报错YAS-04522 invalid hint leading
    【YashanDB知识库】使用leading hint调整SQL执行计划后报错YAS-04522 invalid hint leading
    |
    9月前
    |
    SQL Java 数据库连接
    【YashanDB 知识库】解决 mybatis 的 mapper 文件 sql 语句结尾加分号";"报错
    【YashanDB 知识库】解决 mybatis 的 mapper 文件 sql 语句结尾加分号";"报错
    |
    9月前
    |
    运维 Cloud Native Java
    postman发起post请求遇到报错:java.io.FileNotFoundException (文件名、目录名或卷标语法不正确。)
    遇到bug报错,多猜可能的原因,控制变量反复测试,直至找到问题的关键,然后再思考如何解决或者回避。 博客不应该只有代码和解决方案,重点应该在于给出解决方案的同时分享思维模式,只有思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来

    热门文章

    最新文章