我們使用在多個XML映射文件MyBatis的彈簧和MapperScannerConfigurer重用的結果映射
mybatis-spring = 1.1.1
mybatis = 3.1.1
spring = 3.2.0
MapperScannerConfigurer - to scan mappers
我們如何重用的結果映射在多個XML映射文件?
在此回答問題"Reusing MyBatis ResultMap in multiple mapper.xml"
解決方案是使用的MyBatis-config.xml的文件,並在文件中添加resultMap的細節(或導入所有映射文件,在該文件中)。
但我們沒有使用該文件,而是使用mybatis-spring的MapperScannerConfigurer。
那麼我們如何使用MapperScannerConfigurer實現相同的功能呢?
例如,我們有一個userMapper.xml。
<resultMap id="user" type="com.domain.ModelUser">
<result>..</result>
...
...
</resultMap>
,我們需要在例如managerMapper.xml 使用這個結果映射,並需要重新使用「用戶」結果。
例如
<select id="getManager" resultMap="com.domain.ModelUser.user">
select .......
</select>
現在它拋出錯誤 java.lang.IllegalArgumentException異常:結果映射集合不包含對com.domain.ModelUser.user
價值截至目前它不知道如何以及在哪裏找到UserMapper.xml文件中的resultMap
任何幫助和指導它的地方將不勝感激。
謝謝你的時間和幫助。
對不起,我遲到更新:如下圖所示在 屬性,並使用resultType =「User」工作,所以我只是這樣做,並沒有繼續調試配置文件選項 –
Fossil
2015-01-22 16:24:40
getManager
查詢中使用resultMap
的id
。謝謝AngerClown爲您提供幫助和時間,當我嘗試這樣做時(添加mybatis-config.xml文件),該應用程序拋出了其他映射文件的其他錯誤 - 可能現在它具有配置文件並且丟失了配置文件MapperScannerConfigurer選項?但我確實發現這一點在類=「org.mybatis.spring.SqlSessionFactoryBean」bean中使用