Spring框架学习[JdbcTemplate封装Jdbc](十)
2014-11-24 03:05:49
·
作者:
·
浏览: 12
r) { ((ParameterDisposer) csc).cleanupParameters(); } //关闭CallableStatement JdbcUtils.closeStatement(cs); //释放数据库连接 DataSourceUtils.releaseConnection(con, getDataSource()); } }
(2).CallableStatement的call方法:
[java] view plaincopyprint //CallableStatement调用数据库的存储过程 public Map
call(CallableStatementCreator csc, List
declaredParameters) throws DataAccessException { final List
updateCountParameters = new ArrayList
(); final List
resultSetParameters = new ArrayList
(); final List
callParameters = new ArrayList
(); //遍历声明的参数 for (SqlParameter parameter : declaredParameters) { //如果参数是结果参数 if (parameter.isResultsParameter()) { //如果参数是返回结果集类型,则将参数添加到结果集参数集合中 if (parameter instanceof SqlReturnResultSet) { resultSetParameters.add(parameter); } //如果参数不是返回结果集类型,则将参数添加到更新数目参数集合中 else { updateCountParameters.add(parameter); } } //如果参数不是结果参数,则将参数添加到调用参数集合中 else { callParameters.add(parameter); } } //调用CallableStatement的execute方法,第二个参数是实现了//CallableStatementCallback接口的匿名内部类,用于回调 return execute(csc, new CallableStatementCallback