我的应用程序使用了Spring MVC+iBatis+JBoss7+MySQL。我在mySQL中有一个存储过程,将其映射到我的iBatis mapper.xml文件中,并通过我的sqlMapClient从DAO调用它。如果我在dao方法运行正常之后执行它,但是如果我用不同的存储过程参数对同一方法执行两次调用(参数的改变意味着存储过程中结果列的改变),我会得到一个异常,指出我的sql gramer是错误的。查看日志,我发现iBatis正在尝试将我的第一个查询列(初始方法调用的结果)映射到我的结果映射。我甚至尝试打印我的dao类实例的hashcode,它们是不同的。当从DbVislaulizer这样的DB客户端尝试该过程时,为什么会发生这种情况
对于信息,我在mapper.xml中使用HashMap作为我的结果类。这将在我的dao中返回一个linkedhashmap列表。
任何帮助都会非常方便。
提前感谢
发布于 2013-01-18 14:37:52
修好了。我必须在mapper.xml中将属性remapResults=设置为“true
例如
选择id="myReport“parameterClass="Map”resultClass="java.util.LinkedHashMap“remapResults="true”
https://stackoverflow.com/questions/14379505
复制相似问题