今天在使用SpringBoot整合MyBatis时,测试连接数据库时遇到了一个bug,数据库驱动无法加载,数据库无法连接。
在网上百度了一下,大部分的解决方法都是更换mysql驱动:
mysql 5应当使用com.mysql.jdbc.Driver
mysql 8应当使用com.mysql.cj.jdbc.Driver
而我的mysql版本和驱动类是对应的,所以不是这个问题
之后又仔细检查properties文件中的用户密码、springboot版本和mybatis-spring-boot版本,都没有用。最后发现是application.properties
中的空格导致的bug。去除空格后,程序运行正常。
后来又在优快云上查找有关properties中空格的错误,原来properties文件,存储格式 为key=value
,“ = ”等号后面、value
前面的空格,会自动忽略掉,value
后面的空格,不会忽略,会成为value
的一部分。
为了验证该说法,我将properties文件中的尾随空格加长,报错信息中的com.mysql.cj.jdbc.Driver
类也相应加长