我的 MyBatis 映射器 XML 文件中有两个选择,如下所示。我有三种情况:
- 仅从第一个选择中获取结果 -
getResultsA
- 仅从第二个选择中获取结果 -
getResultsB
- 结合第一个和第二个选择 -
getResultsAAndB
这是我的 XML:
<select id="getResultsA" resultMap="myResultMap" parameterType="MyParameters">
<!-- select statement 1 -->
</select>
<select id="getResultsB" resultMap="myResultMap" parameterType="MyParameters">
<!-- select statement 2 -->
</select>
<select id="getResultsAAndB" resultMap="myResultMap" parameterType="MyParameters">
<!-- NEED TO MERGE RESULTS FROM BOTH getResultsA & getResultsB-->
</select>
对于场景 1 和 2,我可以分别使用各自的选择。如何实现第三种场景,而无需使用 union 编写新的 SQL 语句?我目前通过两个单独的映射器调用来实现这一点,然后list.addall(anotherList)
在 Java 中使用来合并结果。换句话说,我只需要合并两个选择的结果,结果映射相同,我认为这应该是可能的。