2013-04-03 52 views
0

在Camel路徑中使用MyBatis從數據庫表中選擇鍵/值對我遇到了以下問題。使用MyBatis的駱駝路由傳遞HashMap的ArrayList而不是HashMap

我的路線(如內容富集的一部分):

from("direct:resource") 
    .setBody().constant(123) 
    .to("mybatis:selectParameters?statementType=SelectList") 
    ...; 

映射:

<select id="selectParameters" parameterType="int" resultType="java.util.HashMap"> 
    SELECT 
     KEY 
    ,VALUE 
    FROM 
     TABLE 
    WHERE 
     ID=#{id} 
</select> 

,一切工作正常,除了其體內含有包含HashMap的每個鍵一個ArrayList(一個/值對)而不是一個具有nk/v對的HashMap。

任何幫助,將不勝感激

回答

0

我會假設你應該使用statementType = SelectOne因爲你只在SQL查詢中選擇一列。因爲使用SelectList,所以總是返回一個List,即使SQL結果集中只有一行。

可以看到哪些語句類型是可能的位置:http://camel.apache.org/mybatis

,當然還有諮詢更多詳細信息,MyBatis的文檔使用的MyBatis等

+0

大概WHERE條件missleading:我選擇N行(N > 1)因此SelectList應該是正確的。我不太確定是否可以在mybatis中使用hashmap,就像我嘗試使用的那樣。我有一個列表有4個列表條目,每個列表條目都有一個HashMap和1個鍵/值對。它的作品,但它感覺非常錯誤。 – GotoDengo 2013-04-05 18:42:42