2013-04-03 56 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