问题:
在把公司原有框架改造为SpringBoot时,原有的通用Mybatis增删改查功能,老是扫描不到mapper.xml。
1、Java接口、实现类和xml的结构如下图
2、模块Core为Dao功能定义的模块,模块devbench为使用Dao功能的模块。
解决方法:
1、定义Dao的Core模块pom.xml里增加编译xml文件的配置:
<!--编译之后包含xml--> <resource> <directory>src/main/java</directory> <includes> <include>**/*.xml</include> </includes> </resource>
2、application.yml中设置扫描xml的路径
mybatis: mapper-locations: classpath*:com/XXXX/**/mapper/**/*.xml
注意这里mybatis是顶级元素,不是spring的下级!!!
3、主类设置MapperScan:
@MapperScan({"com.XXXX.core.dao.base,com.XXXX.core.dao.**.impl"})