您的位置:首页 > 编程语言 > Java开发

spring调用存储过程

2015-12-02 16:20 429 查看

1.继承StoredProcedure

org.springframework.jdbc.object.StoredProcedure是对应存储过程调用的操作对象,它通过其父类

org.springframework.jdbc.object.SqlCall获得相应的底层API支持(CallableStatementCreator), 然

后在此基础之上构建了调用存储过程的执行方法。

2、重写父类的execute()方法。将存储过程的参数封装成Map类型的传入该方法

.

3、写一个方法来封装存储过程的方法及把参数放到Map里面.

如:

Map paraMap = new HashMap();

paraMap.put(IN_PARAMETER_NAME, tableName);

paraMap.put(INOUT_PARAMETER_NAME, v);

注意:key值一定要与前面构造函数里面声明的参数一致。

4、execute()返回的map值要取到里面的value值,可以用前面构造函数声明时候用到的key值去取。

  如:(String)resultMap.get(OUT_PARAMETER_NAME);就得到了存储过程的返回值。

示例如下:

public class xxxxProcedure extends StoredProcedure {

private static final String PROCEDURE_NAME = "xxxx";

protected xxxxProcedure() {

/* empty */

}



public xxxxProcedure(JdbcTemplate jdbcTemplate) {

super(jdbcTemplate, PRO_NAME);

declareParameter(new SqlParameter("xxxx", Types.VARCHAR));

declareParameter(new SqlParameter("xxxx", Types.VARCHAR));

declareParameter(new SqlParameter("xxxx", Types.NUMERIC));

}

public void execute(String xxxx,String xxxx,int xxxx) {

Map<String, Object> paramsIn = new HashMap<String, Object>();

paramsIn.put("xxxx", xxxx);

paramsIn.put("xxxx", xxxx);

paramsIn.put("xxxx", xxxx);

super.execute(paramsIn);

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: