1. 执行无返回值的存储过程
(1)
public void deleteCheckedRecors(String rootInstId,String tableName,String primarykey,String bizguidValue)throws Exception{
try{
String procedure = "{call sp_deleteInstByRootID('"+rootInstId+"')}";
this.getJdbcTemplate().execute(procedure); }catch(Exception e){
e.printStackTrace();
}
}
(2)
public int addORDelAgentPerson(final String strTableID,final String strUserID,final String strAgentID,final String strType)throws Exception{
String procedure = "{call SP_SetDevolvePerson(?,?,?,?)}";
try{
this.getJdbcTemplate().execute(procedure, new CallableStatementCallback(){
public Object doInCallableStatement(CallableStatement cs) throws SQLException, DataAccessException {
cs.setString(1, strTableID);
cs.setString(2, strUserID);
cs.setString(3, strAgentID);
cs.setString(4, strType);
cs.execute();
return cs;
}
});
return 1;
}catch(Exception e){
e.printStackTrace();
return 0;
}
}
2.执行有返回值的存储过程
public Map testProcdure(final String uerId)throws Exception{
String procedure = "{call SP_GetUserInfo(?,?,?,?)}";
Map map = null;
try{
map = (Map) this.getJdbcTemplate().execute(procedure, new CallableStatementCallback(){
public Object doInCallableStatement(CallableStatement cs) throws SQLException, DataAccessException {
cs.setString(1,uerId);//输入参数
cs.registerOutParameter(2,OracleTypes.VARCHAR); //输出参数
cs.registerOutParameter(3,OracleTypes.VARCHAR);//输出参数
cs.registerOutParameter(4,OracleTypes.VARCHAR);//输出参数
cs.execute();
Map newMap = new HashMap();
newMap.put("name", cs.getString(2));
newMap.put("telephone",cs.getString(3));
newMap.put("post",cs.getString(4));
return newMap ;
}
});
}catch(Exception e){
e.printStackTrace();
}
return map;
}