Reputation: 83
I have written a standard select and resultMap for a table/object in one mapper.xml file and am wondering if there is a method to use this select in another mapper.xml file via the "select" parameter on Associations, Collections, etc.
Upvotes: 7
Views: 11227
Reputation: 15881
Elements defined in other mapper files can be used by fully qualified identifier which includes mapper namespace.
For example you have select in mapper1.xml:
<mapper namespace="com.foo.bar.mapper.Mapper1">
<select id="getEntity1" resultType="Entity1">
select * form entity1
</select>
</mapper>
It can be used in mapper2.xml:
<mapper namespace="com.foo.bar.mapper.Mapper2">
<resultMap id="entity2ResultMap" type="Entity2">
<association property="entity1"
column="entity1_id"
javaType="Entity1"
select="com.foo.bar.mapper.Mapper1.getEntity1"/>
</resultMap>
</mapper>
Upvotes: 15