今天使用spring initializr搭建一个模块,并且勾选了“mybatis framework”的依赖,结果运行的时候就报了错:Failed to load driver class com.mysql.cj.jdbc.Driver in either of HikariConfig class loader or Threa。

这个错字面意思是说驱动类 com.mysql.cj.jdbc.Driver找不到,可是我引入了mysql的jar,突然感觉很神奇。
仔细看,说的是com.mysql.cj.jdbc.Driver,而不是com.mysql.jdbc.Driver,就大概明白问题所在,前者是mysql版本6之后的写法,而我本地运行的是mysql5的版本,因为这两个版本的驱动类的写法不一样,自然就报错。
其实解决办法就是安装mysql6之后的版本。
找到问题所在之后继续发散,那spring initializr中默认mysql驱动加载的就是com.mysql.cj.jdbc.Driver吗?看源码是怎样写的,下面是源码的截图,关于这个问题写的很清楚:

这里只需看mysql的就行,已经规定好了。
本文探讨了在使用Spring Initializr创建项目时,选择MyBatis框架并运行遇到的驱动类加载错误。错误源于默认加载的com.mysql.cj.jdbc.Driver与本地MySQL版本不匹配。文章分析了问题原因,并提供了升级MySQL版本或更改驱动类适配的解决方案。
557

被折叠的 条评论
为什么被折叠?



