2016-03-26 5 views
0

mein Mapper:Wie kann ich die Daten anzeigen, die ich von MyBatis in einer Collections-Eigenschaft abgerufen habe? Dies ist

<mapper namespace="mybatis.mappers.ParentMapper"> 
    <resultMap id="Parent" type="parentBean"> 
     <result column="PARENT_ID"  property="parentID" /> 
     <result column="PARENT_NAME" property="parentName" /> 
     <collection column="CHILD_NAME" property="children" ofType="String" javaType="ArrayList"/> 
    </resultMap> 

    <select id="retrieveParentsFromDB" resultMap="Parent"> 
     SELECT  PARENT_ID, P.PARENT_NAME, CHILD_NAME, C.idchildren 
     FROM  MYBATIS.PARENTS P, MYBATIS.CHILDREN C 
     WHERE  P.PARENT_NAME = 'PARENT A' 
     ORDER BY P.PARENT_ID, C.CHILD_NAME; 
    </select> 
</mapper> 

Die CHILD_NAME Spalte-Feld bezeichnet die Namen der Kinder. Aber wenn ich die Werte in einer Java-Datei ausdrucke. Was abgerufen wird, scheint die Eltern-ID-Werte zu sein. Wie behebe ich das?

Antwort

0

Das Hinzufügen einer Spalteneigenschaft im collections -Eigenschafts-Tag bedeutet, dass Sie sie in einer verschachtelten Abfrage verwenden würden. Ich verwendete stattdessen

<collection property="children" ofType="String" javaType="ArrayList"> 
    <result column="CHILD_NAME" /> 
</collection> 
Verwandte Themen