我目前正在将代码从iBatis 2迁移到MyBatis 3.我有一个函数返回多个结果集,我们映射到不同的类。在iBatis中,我们能够使用逗号分隔的列表在resultType中映射不同的结果,如下所示:
<select id="findCashItems" parameterType="map" resultType="AdminCashBalance, AdminCashMovement, AdminCashTrx">
exec RequestActualAdministrativeData #{portfolioId}
</select>
但这似乎在MyBatis 3中不起作用。除了默认情况下启用多个结果集的配置项之外,我在文档中找不到任何内容。但没有关于如何实际处理它们的内容。
答案 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>