ibatis 调用 oracle 存储过程-sqlMap.mxl

强大的Ibatis中如何调用oracle存储过程,细节很重要.

1.存储过程:p_test(in,in,out,out)

2.sqlMap.xml

<parameterMap id="procParam" class="java.util.HashMap"> 
        <parameter property="param1"  javaType="java.lang.String" jdbcType="VARCHAR" mode="IN"/>
        <parameter property="param2"  javaType="java.lang.String" jdbcType="VARCHAR" mode="IN"/>
        <parameter property="param3"  javaType="java.lang.String" jdbcType="VARCHAR" mode="OUT"/>
        <parameter property="param4"  javaType="java.lang.String" jdbcType="VARCHAR" mode="OUT"/> 
    </parameterMap> 
    <procedure id="proc" resultClass="java.util.HashMap" parameterMap="procParam">
          { call p_test(?,?,?,?) }
    </procedure>

注:jdbcType="VARCHAR" ,VARCHAR不要写成小写哦!

3.java代码

        String p1="";
        String p2="";
        String p3="";  //输出参数
        String p4=""; //输出参数
        Map param=new HashMap();
        param.put("p1", p1);
        param.put("p2", p2);
        param.put("p3", p3);
        param.put("p4", p4);
        List temp=ibatisDaoHelper.queryForList("namespace.proc", param);

拿到输出参数

        p3=param.get("p3").toString();

        p4=param.get("p4").toString();

 

你可能感兴趣的:(java)