开发者社区> 灰小猿> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

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

简介:
+关注继续查看

 

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这个类,点开之后,在它的详细信息里面就可以看到这个连接类的全名。

    imageimage.gif编辑

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

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

    imageimage.gif编辑

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

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

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

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

    imageimage.gif编辑

    版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

    相关文章
    java.lang.ClassNotFoundException: com.mysql.jdbc.Driver 数据库数据没法show再 Web页面上
    java.lang.ClassNotFoundException: com.mysql.jdbc.Driver 数据库数据没法show再 Web页面上
    10 0
    编写Java程序,使用JDBC连接SQL Server数据库
    编写Java程序,使用JDBC连接SQL Server数据库
    36 0
    MySQL---数据库从入门走向大神系列(八)-在java中执行MySQL的存储过程
    MySQL---数据库从入门走向大神系列(八)-在java中执行MySQL的存储过程
    48 0
    解决java.lang.ClassNotFoundException: com.mysql.jdbc.Driver问题(真实有效)
    数据库驱动找不到 这个一场特别奇葩,既然这个异常存在,竟然又能编译通过,项目也不报错,只是在启动的时候,抛出异常! 一、看看这个异常 Error starting ApplicationContext.
    10318 0
    MySQL---数据库从入门走向大神系列(八)-在java中执行MySQL的存储过程
    http://blog.csdn.net/qq_26525215/article/details/52143733 在上面链接的博客中,写了如何用MySQL语句定义和执行存储过程 Java执行存储过程: 准备表stud: 列类型分别为: varchar,varch...
    1103 0
    将DataTable 数据插入 SQL SERVER 数据库
    原文: 将DataTable 数据插入 SQL SERVER 数据库 以下提供3中方式将DataTable中的数据插入到SQL SERVER 数据库: 一:使用sqlcommand.
    941 0
    mysql 出错:java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
    引用:http://blog.csdn.net/huangbiao86/article/details/6428608 折腾了一上午,找到了这错误的原因。哎……悲剧!   确认包已经被导入web工程目录。
    1042 0
    +关注
    灰小猿
    一个用代码编织世界的工程师
    70
    文章
    0
    问答
    文章排行榜
    最热
    最新
    相关电子书
    更多
    低代码开发师(初级)实战教程
    立即下载
    阿里巴巴DevOps 最佳实践手册
    立即下载
    冬季实战营第三期:MySQL数据库进阶实战
    立即下载