2

次のように、他の2つのオブジェクトを属性として含むオブジェクトがあります。

public class A {
  private B b;
  private C c;
  ....
}

B と C は、mybatis を使用して、別のファイル .xml に結果マップを既に持っています。

A を返す結合クエリがあり、B の resultMap と C の resultMap を含む新しい結果マップを (mybatis で) 作成する必要がありますが、以前の resultMap を書き換えたくありません。

2 つの resultMaps をマージする方法はありますか?

4

1 に答える 1

3

resultMapother を含むを作成する例があります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"他のmapper.xml のものであることに注意してください。com.xxx.tinybbs.dao.BoardMappernamespace

于 2013-08-23T04:17:19.253 に答える