使用iBatis的mysql存储过程

时间:2013-01-17 12:48:37

标签: ibatis

我的应用程序使用了Spring MVC + iBatis + JBoss7 + MySQL。我在mySQL中有一个存储过程,将其映射到我的iBatis mapper.xml文件中,并通过我的DAO中的sqlMapClient调用它。 如果我执行dao方法一旦它工作正常,但如果我执行两个调用相同的方法与不同的存储过程参数(更改参数意味着更改我的存储过程中的结果列),我得到一个异常,说我的SQL格拉默是错的。查看日志,我发现iBatis正在尝试将我的第一个查询列(我的初始方法调用的结果)映射到我的结果映射。我甚至尝试打印我的dao类实例的哈希码,它们是不同的。当从DBb客户端(如DbVislaulizer)

尝试过程执行得很好时,为什么会发生这种情况

有关信息,我在mapper.xml中使用HashMap作为我的结果类。这会在我的dao中返回一个linkedhashmaps列表。

任何帮助都会非常方便。

提前致谢

1 个答案:

答案 0 :(得分:0)

修正了它。必须在mapper.xml中设置属性remapResults =“true”

例如

select id =“myReport”parameterClass =“Map”resultClass =“java.util.LinkedHashMap”remapResults =“true”