您好我正在调用一个带有输出参数的oracle存储过程。 我正在调用我的类中的过程,该过程从spring的StoredProcedure类扩展。基于帖子的数量,我已经在我的类中将inout参数声明为out参数,并且还将值传递给我的映射函数中的参数。 问题是它只能作为一个out参数而不是参数。有人告诉我我可能做错了什么?
public class MyService extends StoredProcedure {
public MyService(JdbcTemplate jdbcTemplate,String sqlString) {
setJdbcTemplate(jdbcTemplate);
setSql(sqlString);
setFunction(false);
declareParameter( new SqlOutParameter("inoutparam",OracleTypes.INTEGER));
declareParameter( new SqlParameter("inparam",Types.VARCHAR));
compile();
}
public Map execute(int arg1,String arg2) {
Map<String, Object> inParams = new HashMap<String, Object>();
inParams.put("inoutparam", arg1);
inParams.put("inparam", arg2);
Map<String,Object> map = execute(inParams);
return map;
}
}
PROCEDURE prc_my_proc (
inoutparam IN OUT NUMBER,
inparam VARCHAR2)
IS
BEGIN
INSERT INTO save_log values ( inoutparam,sysdate);
inoutparam := 100;
END prc_my_proc;