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