Java MyBatis集合到数组类型

Java MyBatis集合到数组类型,java,arrays,mapping,mybatis,Java,Arrays,Mapping,Mybatis,MyBatis XML映射程序的以下代码应将列“value”聚合到相应的数组中 <resultMap id="cubeTextsHana" type="com.myDao"> <id property="attribute" column="attribute" javaType="String" /> <collection property="valueList" ofType="java.lang.String" javaType="Strin

MyBatis XML映射程序的以下代码应将列“value”聚合到相应的数组中

<resultMap id="cubeTextsHana" type="com.myDao">
    <id property="attribute" column="attribute" javaType="String" />
    <collection property="valueList" ofType="java.lang.String" javaType="String[]">
        <result column="value" />
    </collection>

不幸的是,这不起作用,因为MyBatis声明未找到
Class/TypeAlias“String[]”。
。当我更改
javaType=“list”
以及DAO中相应的类型时,它工作正常


有没有一种方法可以将
用于简单数组类型(例如字符串)而不是集合类型?

resultMap集合处理发生在org.apache.ibatis.executor.resultset.DefaultResultSetHandler类中

Java数组不是集合(InstanceCollectionPropertyIFapropriate(ResultMapping,MetaObject)) 然后没有方法add(linkObjects(元对象、结果映射、对象))

对于集合类型,将在目标属性中设置集合的新实例,然后将所有结果添加到其中。属性指向集合,该集合有时(对于ArrayList)扩展其内部数组,实际上复制到更大的数组。java数组是直接设置和指向的,而数组中的每个新元素都是数组,因此需要重新定义数组并重置属性

因此,我认为java数组支持的结果映射集合没有实现,需要实现集合管理机制的一部分(重点是什么?)

我想您可以将结果映射到列表,如果需要,可以调用属性上的Collection#toArray()