Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException;nested

**错误异常:**org.springframework.jdbc.CannotGetJdbcConnectionException: Could not get JDBC Connection; nested exception is org.apache.commons.dbcp.SQLNestedException: Cannot create PoolableConnectionFactory

工具及环境

idea 2020.1,maven,spring-mvc,mybatis3.4.5,数据库 mysql 8.0.18,mysql-connector-java 5.1.38

错误描述

这几天用spring-mvc做一个maven的demo,模仿老师做数据库连接部分时,出现了如题的错误,查了一下午,问题得不到解决。
看网上很多的说法说mysql的connector版本不对应等等,这里做一个大概思路的整理。

1.数据库版本

出现这类错误,首先要确定自己的数据库版本和目标版本差异,如mysql版本是否和connector版本匹配,如果发现自己版本不匹配,建议更换到适应的版本,mysql官网有connector和mysql版本的对应比较,如果觉得麻烦,很多大神的博客中也有从官网弄到的版本对应图。
很多同学可能安装的是直接从官网下的压缩包版本的mysql server,这里我推荐使用mysql installer,使用mysql installer以后,如果以后需要安装别的版本的mysql server,即可从上边直接新增server,此处附上软件截图:Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException;nested
由于本文主要是解释作者解决代码错误的,所以软件安装下载过程就不赘述了,只提供一个思路。

2.检查数据库配置文件

笔者出错的时候检查了一个小时的配置文件,发现确实没有错,但是修改过程中,有例如can’t load url的报错,这个原因是你的数据库连接url有问题。写数据库配置文件时也很有可能出现以下错误:
1. datasource.properties文件中存在行尾空格或者句中的空格,(因为我没有出现过这种错误,所以无法详细解释,笔者尚属萌新)
2. datasource.properties中key值错误,推荐写成较为标准的写法,如:driverClassName => jdbc.driverClassName;其他比如url、username、password也推荐在前边加上相同前缀。
3. mybatis的数据库mapper文件中存在错误,如果是SQL语句错误,报错提示中会给出提示。

笔者也是萌新,出的错误自然在大神眼中会很蠢,今天解决了这个错误,一时兴起写了这个文章,分享给大家,如果有错误,欢迎指正。