問題:
在把公司原有框架改造為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"})