准备用Springboot整合Mybatis练习时,出现了两个问题:
一、在service中注入mapper时说Autowired没有实体Bean,因为在mapper接口上只添加了@Mapper注解,应该再添加一个@Repository注解
二、找不到mapper问题,网上都说用@MapperScan,我用后毫无效果,运行起来依然报错。后来搜到一个大佬的分析,从Mybatis源码追踪到了问题。
说是IDEA不会编译java包下的xml文件,eclipse不会有这个问题。既然都没编译,那当然找不到咯,需要在pom.xml文件里填一段让xml可以被编译。
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
<!-- 让xml文件能够编译,否则依然找不到-->
<resources>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.xml</include>
</includes>
</resource>
</resources>
</build>
PS:Mybatis的注解方式就不需要这样了,可以直接使用。