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这个类,点开之后,在它的详细信息里面就可以看到这个连接类的全名。
检查以上这几个参数的书写是否正确,如果任何一个没写对,那么就会报这样的错误,我当时就是因为jdbc:mysql://localhost:3306/数据库名中mysql后面没加“:”,
添加上去之后,再次尝试连接,问题解决:
2、c3p0-config.xml中的配置文件出现问题
这种情况一般是由于jar包的问题,所以需要将数据库连接时所需要的jar包重新导入一下。
关于java.sql.SQLException No suitable driver报错我目前遇到的可以解决的方案也就这些,小伙伴们还有其他新的解决方案的欢迎留言提出。之后再有新的解决我也会在这篇文章继续更新。
我是灰小猿!我们下期见!