<mappers> <mapper resource="com/choco/dao/BlogMapper.xml"/> </mappers>
我在resources下面創建和 main/java同樣的目錄, 通過resource獲取到xml文件, 但是不可以, 我很模糊, 因為之前我是可以的.
解決辦法:
- idea里面一次創建例如:com.choco.dao包 和 分三次創建是一樣的. 雖然可能無法展開, 但確實效果是一樣的
- 如果你的mapper接口和映射xml文件不在一個目錄, 比如你把xml文件放在了resources下面, 那么你需要在pom.xml添加這段代碼.
src/main/resources
/*.properties
/ .xml
.properties
src/main/java
**/
**/*.xml
true
這是因為sqlSessionFactoryBean.setMapperLocations(resolver.getResource(packageSearchPath));
即sqlSessionFactoryBean調用的方法是getResource, 這個方法從類的根路徑下獲取文件.
而在mybatis里面, mian/java下面類的根路勁為 target/classes
所以只要你的根路勁下面沒有xml映射文件, 那么config文件里面,注冊mapper就無法成功.
在setting里面沒有開啟mapUnderscoreToCamelCase, 依然可以識別, 不知道這是不是idea自動做了.
