1
我的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语句的情况下实现第三种方案?我目前通过两个独立的mapper调用来实现这一点,然后使用Java中的list.addall(anotherList)
合并结果。换句话说,我只需要合并来自选择和结果地图的结果,我认为这应该是可能的。
我怀疑有任何通用的解决了这个其他的是你已经提到(SQL'UNION'或Java的'中的addAll()')的。 请发表您的选择陈述,也许存在一些针对特定问题的解决方案。 –