2

如何忽略 iBatis resultMap 上的缺失列?

如果我有这个映射器

<resultMap id="DBEntity" class="CS_Entity">
    <result property="Id" column="Id" />
    <result property="Field1" column="f1" />
    <result property="Field2" column="f2" />
</resultMap>

对于某些查询,我想返回列 f2,但是如何在不为所有其他查询添加具有默认值的字段 f2 的情况下声明。

有一种方法?

4

2 回答 2

1

使用两个 resultsMap 之一f2

<resultMap id="DBEntityWithF2" class="CS_Entity">
    <result property="Id" column="Id" />
    <result property="Field1" column="f1" />
    <result property="Field2" column="f2" />
</resultMap>

另一个没有f2

<resultMap id="DBEntity" class="CS_Entity">
    <result property="Id" column="Id" />
    <result property="Field1" column="f1" />
</resultMap>
于 2012-06-12T18:18:42.753 回答
1

您可以简单地"select f2 as Field2 from yourTable"在您的 sql 中使用,并在您的配置中使用resultClass="CS_Entity"而不是使用。resultMap这样,您就不需要像上面那样声明映射了。

于 2012-06-15T10:03:30.500 回答