Don't like ads? PRO users don't see any ads ;-)
Guest

Untitled

By: a guest on Jul 1st, 2012  |  syntax: None  |  size: 2.25 KB  |  hits: 22  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1. Java Spring JDBC Oracle Stored Procedure returns null [closed]
  2. ParameterizedRowMapper<ExamPaper> mapper = new ParameterizedRowMapper<ExamPaper>() {
  3.  
  4.   public ExamPaper mapRow(ResultSet rs, int rowNum) throws SQLException {
  5.  
  6.  
  7.     logger.info("in the row mapper with"+rs.toString());
  8.     logger.info("in the row mapper with x no of rows " +rowNum);
  9.  
  10.     ExamPaper examPaper = new ExamPaper();
  11.     examPaper.setCampus(rs.getString("campus"));
  12.     examPaper.setTitle(rs.getString("title"));
  13.     examPaper.setPaper(rs.getString("paper"));
  14.     examPaper.setCode(rs.getString("code"));
  15.     examPaper.year.add(rs.getString("year"));
  16.     examPaper.semester.add(rs.getString("semester"));
  17.     return examPaper;
  18.   }
  19. };
  20.  
  21. Map params = new HashMap();
  22. params.put("ic_search_string","fluid");
  23. params.put("ic_location_flag", "unmc");
  24. logger.info("calling stored procedure");
  25. OracleStoredProcedure storedProcedure = new OracleStoredProcedure(getDataSource(),"pkg_exam_papers.p_get_exam_papers",logger, mapper);
  26.  
  27. Map results = storedProcedure.execute(params);
  28. logger.info(results.size());
  29.        
  30. public class OracleStoredProcedure extends StoredProcedure
  31. {
  32.   private Log logger;
  33.   public OracleStoredProcedure(DataSource dataSource,String storedProcedureName, Log logger,ParameterizedRowMapper mapper)
  34.   {
  35.     super();
  36.     this.logger = logger;
  37.  
  38.     setDataSource(dataSource);
  39.     setFunction(false);
  40.     setSql(storedProcedureName)
  41.  
  42.     declareParameter(new SqlParameter("ic_search_string", OracleTypes.VARCHAR));
  43.     declareParameter(new SqlParameter("ic_location_flag", OracleTypes.VARCHAR));
  44.     declareParameter(new SqlOutParameter("orc_results", OracleTypes.CURSOR, mapper));
  45.     declareParameter(new SqlOutParameter("on_errcode", OracleTypes.INTEGER));
  46.     declareParameter(new SqlOutParameter("oc_errmess", OracleTypes.CHAR));
  47.  
  48.     compile();
  49.  
  50.   }
  51.  
  52.   public Map execute(Map parameters)
  53.   {
  54.     Map out = new HashMap();
  55.  
  56.     try
  57.     {
  58.       out = super.execute(parameters);
  59.     }
  60.     catch (NullPointerException nullPointerException)
  61.     {
  62.       logger.error("Exception when executing stored procedure: " + nullPointerException.getMessage());
  63.     }
  64.     catch(Exception exception)
  65.     {
  66.       logger.error("Exception when executing stored procedure: " + exception.getMessage());
  67.     }
  68.  
  69.     return out;
  70.   }
  71. }