Frage

Ich migriere derzeit Code von iBatis 2 nach MyBatis 3. Ich habe eine Funktion, die mehrere Ergebnismengen zurückgibt, die wir verschiedenen Klassen zuordnen.In iBatis konnten wir die verschiedenen Ergebnisse mithilfe einer durch Kommas getrennten Liste im Ergebnistyp wie folgt zuordnen:

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

Dies scheint jedoch in MyBatis 3 nicht zu funktionieren. Ich kann in der Dokumentation nichts finden, außer einem Konfigurationselement, das standardmäßig mehrere Ergebnismengen aktiviert.Aber nichts darüber, wie man sie tatsächlich verarbeitet.

War es hilfreich?

Lösung

Die Verwendung einer resultMap mit einer durch Kommas getrennten Liste von Ergebniszuordnungen behebt dieses Problem.

<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>

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top