spring storageprocedure in out参数用法

时间:2012-08-24 11:35:09

标签: spring jdbctemplate java-stored-procedures

您好我正在调用一个带有输出参数的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;

0 个答案:

没有答案