问题1:业务层使用@Autowired出现红色下划波浪线
解决办法:在mapper接口上使用@Repository注解可去除,因为mapper可能会有多个,因此在application中使用@MapperScan({"com.example.mapper"})代替每一个mapper的@Mapper注解。
问题2:系统默认值编译识别java下的class文件,而不会识别xml文件,xml在reources下才能被是被,那么如何在java下让系统识别xml文件呢?
解决办法:因为将映射文件放入到了java下的mapper中了,所以需要在pom下的build标签下手动指定文件夹为resources,或者使用直接在resources下存放映射文件xml。最后点击maven更新仓库!
<!-- 手动指定文件夹为resources--> <resources> <resource> <directory>src/main/java</directory> <includes> <include>**/*.xml</include> </includes> <filtering>false</filtering> </resource> </resources>
问题3:报错如下:(研究时间最长的,总计花费一天时间)
页面报错:
控制台报错:
解释:绑定异常,就是serviceImp中无法调用到mapper中的方法。
解决办法:将xml文件挪动到和mapper文件同级,如下
但是随着学习深入,肯定能够使用xml文件夹,但是目前没有找到适配方式。
适配方式已经找到,如下:
在application.properties文件中进行指定映射文件位置,意思是告诉系统去编译好的target文件夹下的具体哪个位置找编译好的映射文件xml。