首页 > 解决方案 > 使用 mybaits 调用存储过程,参数是 Map ,但我无法获取 OUT 参数

问题描述

当我调用此过程时,返回 Map 无法获取输出参数

程序是:

create or replace procedure myDemo05(name out varchar,age in int)
as
begin
      dbms_output.put_line('age='||age);
    insert into students values(age,age,age+'');
  select 'xiaoming' into name from dual;
end;

mapper.xml 是:

  <select id="updateRet2" parameterType="java.util.LinkedHashMap" resultType="java.util.LinkedHashMap" statementType="CALLABLE">
        {
            call ${spName}
                <foreach collection="datas" index="key" item="ent"  open="(" separator="," close=")">
                    <if test="ent == '?'">
                        #{ent,mode=OUT,jdbcType=VARCHAR}
                    </if>
                    <if test="ent != '?'">
                        #{ent,mode=IN,jdbcType=INTEGER}
                    </if>

                </foreach>
        }
    </select>

程序 OUT 参数不能返回!!!!!!

标签: mybatis

解决方案


在此处输入图像描述

mapper.xml 应该这样写!!!!!!!


推荐阅读