繁体   English   中英

MyBatis:如何返回列表地图?

[英]MyBatis: How to return a map of lists?

我用谷歌搜索了这个,直到我脸色发青,找不到答案。 如何配置MyBatis以返回列表地图?

HashMap<String, List<Foo>>

例如,如果我有一个查询返回了所有客户的所有订单,我想让它返回一个包含客户ID键入的订单列表的Map。

编辑

我找到了一种方法来编写一个自定义的ResultHandler,但我宁愿让MyBatis为我做这件事,就像Hibernate对map或注释一样。

谢谢。

我发现最简单的事情是创建一个新的POJO并将id和对象列表放在那里。

StringFoo.java

public class StringFoo {
    String name;
    List<Foo> foos;
}

Mapper.java

List<StringFoo> findFoo(@Param("id") Long id);

Mapper.xml

<resultMap id="FooResultMap" type="com.package.StringFoo">
    <result property="name" column="name"/>
    <collection property="foo" resultMap="FooMapORJavaType"/>
</resultMap>
<select id="findFoo" resultMap="FooResultMap"></select>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM