0

在 Camel 路由中使用 MyBatis 从数据库表中选择键/值对我遇到了以下问题。

我的路线(作为内容丰富器的一部分):

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。

任何帮助将不胜感激

4

1 回答 1

0

我假设您应该使用 statementType=SelectOne 因为您只在 SQL 查询中选择一行。因为您使用 SelectList,所以总是返回一个 List,即使 SQL 结果集中只有 1 行。

您可以在这里查看哪些语句类型是可能的:http: //camel.apache.org/mybatis

当然,有关使用 MyBatis 等的更多详细信息,请参阅 MyBatis 文档。

于 2013-04-04T08:35:00.223 回答