存储过程的参数:
P_SAVEOBJ( IN I_ID_OBJ INT,IN STR_OBJNAME VARCHAR(255),OUT o_ret VARCHAR(100))
xml配置:
<parameterMap class="java.util.Map" id="seqNameParameters"><parameter property="I_ID_OBJ" javaType="java.lang.Long" jdbcType="NUMBER" mode="IN"/><parameter property="STR_OBJNAME" javaType="java.lang.String" jdbcType="VARCHAR" mode="IN"/><parameter property="o_retsult" javaType="java.lang.String" jdbcType="VARCHAR" mode="OUT"/></parameterMap><procedure id="saveObjByProcedure" parameterMap="seqNameParameters">{call P_SAVEOBJ(?, ?, ?)}</procedure>
java调用:
HashMap<String,Object> paramMap = new HashMap<String,Object>(); paramMap.put("I_ID_OBJ",jobId);//INT;1paramMap.put("STR_OBJNAME",jobName);//VARCHAR(255);2paramMap.put("o_retsult","");//VARCHAR(255);3this.getSqlMapClientTemplate().update("saveObjByProcedure", paramMap);return paramMap.get("o_retsult")
这里用的是update,因为发现使用query的时候会阻塞住。
this.getSqlMapClientTemplate().update("saveObjByProcedure", paramMap);