我有一个包含其他两个对象作为属性的对象,如下所示:
public class A {
private B b;
private C c;
....
}
B 和 C 已经用 mybatis 将它们的结果映射在单独的文件 .xml 中。
我有一个返回 A 的连接查询,我需要创建一个新的结果映射(在 mybatis 中),其中包含 B 的结果映射和 C 的结果映射,但我不想重写以前的结果映射。
有没有办法合并两个 resultMaps ?
我有一个示例来创建一个resultMap
包含其他resultMaps
.
<resultMap id="articleMap" type="com.xxx.tinybbs.entity.Article">
<id column="ID" jdbcType="INTEGER" property="ID" />
<result column="title" jdbcType="VARCHAR" property="title" />
<result column="createTime" jdbcType="TIMESTAMP" property="createTime" />
<result column="pid" jdbcType="INTEGER" property="pid" />
<result column="authorId" jdbcType="INTEGER" property="authorId" />
<result column="boardId" jdbcType="INTEGER" property="boardId" />
<result column="sourceIp" jdbcType="VARCHAR" property="sourceIp" />
<association property="board" javaType="com.xxx.tinybbs.entity.Board" column="boardId" resultMap="com.xxx.tinybbs.dao.BoardMapper.BaseResultMap">
</association>
</resultMap>
<select id="getFullArticleInfo" parameterType="int" resultMap="articleMap">
select article.*, board.* from article left join board on article.boardId = board.id where article.id =#{id};
</select>
注意,import other resultMap resultMap="com.xxx.tinybbs.dao.BoardMapper.BaseResultMap"
,com.xxx.tinybbs.dao.BoardMapper
是namespace
其他mapper.xml的