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; }