ibatis 调用存储过程返回游标问题

存储过程:
create or replace procedure P_search(weight_value in integer, p_cursor out types.searchNature_CURSOR) as
begin
  open p_cursor for
    select globalId
      from (select sum(WEIGHT) as w, globalId
              from EMPI_TEMP
             group by globalId
             order by sum(WEIGHT) desc)
     where w > weight_value;

end P_search;


sqlMap.xml:

<parameterMap id="test_map" class="java.util.HashMap">
<parameter property="weight_value" jdbcType="INTEGER"
javaType="java.lang.Integer" mode="IN" />
<parameter property="p_cursor" jdbcType="ORACLECURSOR"
javaType="java.sql.ResultSet" mode="OUT"/>
</parameterMap>
<procedure id="query_search" parameterMap="test_map" resultClass="java.lang.String">
{call p_search(?,?)}
   </procedure>

java:

SqlMapClient client =  IBatisConfig.getSqlMapper();
        Map<String,Object> map = new HashMap<String,Object>();
        map.put("weight_value", 30);
        try { 
            List<String> list = client.queryForList("query_search",map);
            System.out.println(list.size());
        }
        catch (SQLException e) {
         
        }


使用 ibatis 2.1.6 版本执行有问题。搞了半天。发现时这个版本对存储过程支持有问题。
换成 2.3.4 问题解决。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值