一、概述
? ? ? ? 默認情況下maven要求我們將xml配置、properties配置等都放在resources目錄下,如果我們強行將其放在java目錄,即將xxxMapper.xml和xxxMapper接口放在同一個目錄下,那么默認情況下maven打包時會將這個xxxMapper.xml文件忽略掉,對于這個問題我們有兩種解決方案,如下
二、解決
2.1、方案1(不忽略xml配置)
在pom.xml中添加如下配置,讓maven不要忽略java目錄的xml配置,如下:
<build><resources><resource><directory>src/main/java</directory><includes><include>**/*.xml</include></includes></resource><resource><directory>src/main/resources</directory></resource></resources>
</build>
2.2、方案二(按照maven的要求來)
????????按照maven的要求來,將xml文件放在resources目錄,但是mybatis中默認情況下要求xxxMapper.xml文件和xxxMapper接口必須放在一起,所以我們需要手動在resources資源文件夾下創建和xxxMapper接口的同級目錄。
????????注意事項:在resources目錄創建和xxxMapper同級目錄時,不要一次性創建,例如UserMapper的全限定類名為org.star.mapper.UserMapper,那么在resources目錄創建同級目錄時,要先創建org目錄,然后再org目錄創建star目錄,然后再star目錄創建mapper目錄,接著再mapper目錄創建UserMapper.xml文件,這是個坑,需要注意!因為直接在resources目錄一次性創建org.star.mapper目錄,org.star.mapper會被當做一個目錄而不是三個目錄,即org.star.mapper。