读书人

Mybatis调用oracle存储过程异常有关问

发布时间: 2013-03-26 21:09:14 作者: rapoo

Mybatis调用oracle存储过程错误问题
在调用存储过程的时候,不知道下面这段代码到底是哪里错了,总是报in或out参数索引丢失,但是我看着好像哪里都没错,想让各位大神帮忙看下,这段代码中是哪里除了问题,谢谢。

oracle存储过程:


create or replace procedure pro_dept(dname in varchar2,cur_sys out sys_refcursor)
is
begin
open cur_sys for select * from dept where dname like '%||dname||%';
end;


xml配置:

<resultMap type="Dept" id="getDept">
<id column="deptno" property="deptno"/>
<result column="dname" property="dname"/>
<result column="loc" property="loc"/>
</resultMap>

<!-- 调用存储过程返回结果集 -->
<select id="callProcedure1" parameterType="java.util.Map">

<![CDATA[
call getuserby(#{dname,mode=IN,jdbcType=VARCHAR},
#{depts,mode=OUT,jdbcType=CURSOR,javaType=java.sql.ResultSet,resultMap=getDept})
]]>

</select>


调用:

Map<String, Object> param = new HashMap<String, Object>();
param.put("dname", "A");

procedureDao.callProcedure1(param);

List<Dept> depts = (ArrayList<Dept>)param.get("depts");

System.err.println(depts.size());


异常:

### Error querying database. Cause: java.sql.SQLException: 索引中丢失 IN 或 OUT 参数:: 2
Mybatis
[解决办法]
引用:
引用:procedureDao.callProcedure1
你这个方法里面是怎么弄的?

下面是接口和实现类
Java code?12345678910111213141516171819public interface IProcedureDao { List<Dept> callProcedure1(Map<S……


我凌乱了.........


我的异常网推荐解决方案:oracle存储过程,http://www.myexception.cn/oracle-develop/177537.html

读书人网 >J2EE开发

热点推荐