Example #1
0
  /**
   * call SP
   *
   * @param spName SP Name
   * @param params SqlParameter/SqlOutParameter/SqlInOutParameter obj array
   * @param inParams SqlParameter values
   * @return result map
   */
  public Map<String, Object> callSPForMap(
      String spName, SqlParameter[] params, Map<String, ?> inParams) {

    int idx = spName.indexOf(".");
    String schemaName = null;
    if (idx != -1) {
      schemaName = spName.substring(0, idx);
      spName = spName.substring(idx + 1);
    }

    SimpleJdbcCall jdbcCall =
        new SimpleJdbcCall(dataSource).withProcedureName(spName).declareParameters(params);

    if (schemaName != null) {
      jdbcCall.setSchemaName(schemaName);
    }

    jdbcCall.setAccessCallParameterMetaData(false);

    Map<String, Object> out = jdbcCall.execute(inParams);
    return out;
  } // ;