如何在集合属性中显示从MyBatis检索到的数据?

时间:2016-03-26 09:18:30

标签: mybatis

这是我的映射器:

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

CHILD_NAME COLUMN字段表示孩子的姓名。但是当我在java文件中打印出值时。检索到的内容似乎是父ID值。我该如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

结果在collections属性标记中添加列属性意味着您将在嵌套查询中使用它。我改用了

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