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()')的。 請發表您的選擇陳述,也許存在一些針對特定問題的解決方案。 –