1、按照网上的步骤新建完了项目,并配置好了Application.properties文件中的Mybatis的url等变量,第一个坑来了,这个坑我踩了两天才爬出去。
配置完之后,以为能够完美运行,结果界面报错了,总的来说就是,not found…….*Mapper.getAllUsers的错误,网上都说是因为注解的问题,但是吧,注解都是没有少。实际上是这样子的,就是你的mapper接口和mapper的配置文件没有成功映射,要知道有没有成功映射,看下图:
mapper的接口类和配置文件应该在扫描之后出现在target目录下的同一目录里面,所以修改mapper.xml文件所在的目录使其与mapper的接口类一致,同时别忘了去Application.properties文件里面修改
mybatis.mapper-locations的参数
2,踩的第二个坑:出现了查询数据连接失败,但是尼,我在database里面的测试连接是成功的,当时真的是日了狗。
测试是成功的,哔~。
这个坑踩了一天我爬出来了。问题原因:我的MySQL版本是5.7.23版本的,一开始Maven里面没有指定数据库驱动的版本,所以默认是8.0版本的,所以出了岔子,然后尼自作聪明的把依赖版本改成了5.7.23,所以一直在坑下面没出来。后来经过多方查资料,我知道了,mysql-connector-java只有5.1和8.0版本的,官方文档说,8.0版本的兼容MySQL5.5到8.0,我把版本固定为8.0.13还是不行,最终我换成了5.1.47,问题完美解决。你以为就这么完了吗,不没有,第三个坑,解决的快一点半天我就爬出来了。
3,数据库查数据是有数据的但是吧,Mybatis拿不到数据,返回null或者直接抛异常。问题出在了我的bean文件里面的变量命名,变量命名并没有跟数据库的命名用驼峰命名的方式进行命名的,所以MyBatis不能找到对应的Bean,所以只能返回给我null了。哦,记住了,在SpringBoot的启动程序里面把这个注解加上
@MapperScan(basePackages = {"com.ybl.news.mapper"})
我的问题就这么多,一些网上能收到的解决方案我就没有详细说,自行百度吧。
最后,总结,基础不牢,画地为牢,基础知识还是要加油补上来了,菜鸡一直飞不一定成大神吧,但总能飞过不努力的菜鸡的。