ibatis调用oracle中的存储过程出现了无效列类型错误?

findself 2008-08-25 01:02:20
如标题所说,parameterMap元素也是配了的,存储过程在数据库的控制台上测试是没问题的。不明白原因,希望大家帮我找找错误:
sql statement文件:
<parameterMap class="java.util.Map" id="swapParameters">
<parameter property="a" mode="INOUT" jdbcType="int" javaType="java.lang.Integer"/>
<parameter property="b" mode="INOUT" jdbcType="int" javaType="java.lang.Integer"/>
</parameterMap>

<procedure id="swapProcedure" parameterMap="swapParameters">
{call swap(?, ?)}
</procedure>
代码:
Map map= new HashMap(2);
map.put("a", new Integer(1));
map.put("b", new Integer(5));

try {
sqlMap.startTransaction();
sqlMap.queryForObject("Orderr.swapProcedure", map); //出错
} catch (SQLException e) {
e.printStackTrace();
} finally {
sqlMap.endTransaction();
}
存储过程:
create or replace procedure swap(a in out integer, b in out integer) as
temp integer;
begin
temp := a;
a := b;
b := temp;
-- 测试用的,没错误,能显示
-- dbms_output.put_line(a || ' ' || b);
end;
...全文
730 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
ally2010 2011-11-18
  • 打赏
  • 举报
回复
我也遇到了 怎么解决啊。。。。
leonsmith 2010-03-27
  • 打赏
  • 举报
回复
你把jdbcType设置为INTEGER
fly0528 2008-12-25
  • 打赏
  • 举报
回复
如何解决?我也想知道啊
fly0528 2008-12-25
  • 打赏
  • 举报
回复
??
findself 2008-08-25
  • 打赏
  • 举报
回复
没人知道?顶一下

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧