Mybatis从另一个mapper.xml文件引用sql

时间:2013-10-28 16:14:34

标签: xml mybatis mapper

我在一个mapper.xml文件中为一个表/对象编写了一个标准的select和resultMap,我想知道是否有一种方法可以通过“关联”,“集合”中的“select”参数在另一个mapper.xml文件中使用此select等等。

1 个答案:

答案 0 :(得分:12)

其他映射器文件中定义的元素可以由包含映射器命名空间的完全限定标识符使用。

例如,您在mapper1.xml中选择:

<mapper namespace="com.foo.bar.mapper.Mapper1">

  <select id="getEntity1" resultType="Entity1">
    select * form entity1
  </select>
</mapper>

它可以在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>