MyBatis多个结果集

时间:2011-06-17 16:11:13

标签: mybatis multiple-resultsets

我目前正在将代码从iBatis 2迁移到MyBatis 3.我有一个函数返回多个结果集,我们映射到不同的类。在iBatis中,我们能够使用逗号分隔的列表在resultType中映射不同的结果,如下所示:

<select id="findCashItems" parameterType="map" resultType="AdminCashBalance, AdminCashMovement, AdminCashTrx">
    exec RequestActualAdministrativeData #{portfolioId}
</select>

但这似乎在MyBatis 3中不起作用。除了默认情况下启用多个结果集的配置项之外,我在文档中找不到任何内容。但没有关于如何实际处理它们的内容。

1 个答案:

答案 0 :(得分:2)

使用带有逗号分隔的结果映射列表的resultMap可以解决此问题。

<resultMap id="adminCashBalance" type="AdminCashBalance">
...
</resultMap>

<resultMap id="adminCashMovement" type="AdminCashMovement">
...
</resultMap>

<resultMap id="adminCashTrx" type="AdminCashTrx">
...
</resultMap>

<select id="findCashItems" parameterType="map" resultMap="adminCashBalance, adminCashMovement, adminCashTrx">
    exec RequestActualAdministrativeData #{portfolioId}
</select>