jdbctemplate的call()用法样例
时间: 2023-08-21 18:07:38 浏览: 88
下面是一个使用 JdbcTemplate 的 call() 方法调用存储过程的样例:
```java
public void executeStoredProcedure() {
SimpleJdbcCall call = new SimpleJdbcCall(jdbcTemplate)
.withProcedureName("my_stored_procedure");
SqlParameterSource inParams = new MapSqlParameterSource()
.addValue("param1", "value1")
.addValue("param2", "value2");
Map<String, Object> outParams = call.execute(inParams);
System.out.println("Result: " + outParams.get("result"));
}
```
在这个样例中,我们使用 SimpleJdbcCall 类创建了一个调用名为 "my_stored_procedure" 的存储过程的 JdbcTemplate 对象。我们还使用 MapSqlParameterSource 类创建了一个包含参数 "param1" 和 "param2" 的 SqlParameterSource 对象,并将其传递给 call() 方法。最后,我们从返回的 Map 对象中获取存储过程的输出参数 "result" 的值并打印出来。
请注意,JdbcTemplate 的 call() 方法可以处理存储过程的输入参数和输出参数,并且可以接受任意数量和类型的参数。如果存储过程有多个输出参数,则可以通过向 SimpleJdbcCall 对象的 withReturnValue() 方法传递 true 来指定返回值。
阅读全文