Advertisement
Guest User

Untitled

a guest
Sep 19th, 2017
59
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.69 KB | None | 0 0
  1. **Custom Stored Procedure**
  2.  
  3. package com.web.helper;
  4.  
  5. import java.util.List;
  6. import java.util.Map;
  7.  
  8. import oracle.jdbc.OracleTypes;
  9.  
  10. import org.springframework.jdbc.core.JdbcTemplate;
  11. import org.springframework.jdbc.core.SqlOutParameter;
  12. import org.springframework.jdbc.core.SqlParameter;
  13. import org.springframework.jdbc.object.StoredProcedure;
  14.  
  15. import com.domain.ViewFormDO;
  16.  
  17. public class FlexiView extends StoredProcedure {
  18.  
  19. public FlexiView(JdbcTemplate jdbcTemplate, final String storedProc, ViewFormDO viewFormDO, int reportId){
  20.  
  21. super(jdbcTemplate, storedProc);
  22. jdbcTemplate.setFetchSize(20000);
  23.  
  24. declareParameter(new SqlOutParameter("P_CUR", OracleTypes.CURSOR, new FlexiViewMapper(reportId, viewFormDO)));
  25. declareParameter(new SqlParameter("P_AGENT_ID", OracleTypes.NUMBER));
  26.  
  27. this.compile();
  28. }
  29.  
  30. @SuppressWarnings("unchecked")
  31. public <T> List<T> executeStoredProc(final Map<String, Object> valueMap) {
  32. System.out.println(">>"+valueMap.size());
  33. // execute stored procedure
  34. Map<String, Object> resultMap = super.execute(valueMap);
  35. return (List<T>)resultMap.get("P_CUR");
  36. }
  37.  
  38. }
  39.  
  40. **Custom Row Mapper**
  41.  
  42. package com.web.helper;
  43.  
  44. import java.sql.ResultSet;
  45. import java.sql.SQLException;
  46. import java.text.SimpleDateFormat;
  47.  
  48. import org.springframework.jdbc.core.RowMapper;
  49.  
  50. import com.domain.ViewFormDO;
  51. import com.domain.ViewFormGridDO;
  52.  
  53. public class FlexiViewMapper implements RowMapper<Object> {
  54.  
  55. int reportId = 0;
  56. final SimpleDateFormat dtFormat = new SimpleDateFormat("dd-MM-yyyy");
  57. ViewFormDO viewFormDO;
  58.  
  59. public FlexiViewMapper(int reportId, ViewFormDO viewFormDO){
  60. this.reportId = reportId;
  61. this.viewFormDO = viewFormDO;
  62. }
  63.  
  64. @Override
  65. public Object mapRow(ResultSet rs, int rowNum) throws SQLException {
  66. ViewFormGridDO flexiActiveGridDet = new ViewFormGridDO();
  67. if (reportId == 1001 || reportId == 1002) {
  68. // Get data from DB and assign it in ViewFormGridDO Bean
  69. }
  70. return flexiActiveGridDet;
  71. }
  72.  
  73. }
  74.  
  75. **Calling the method in Service**
  76.  
  77. @Override
  78. public List<ViewFormGridDO> getFlexiGuideEnqGridDet1(final ViewFormDO viewFormDO)
  79. throws NsureException {
  80. List<ViewFormGridDO> flexiGuideGridDetails = null;
  81. final int reportId = viewFormDO.getFlexiTypeId() == GlobalNames.SCHEME_XXX ? 1002 : viewFormDO.getReportId();
  82.  
  83. LinkedHashMap<String, Object> valueMap = new LinkedHashMap<String, Object>();
  84. valueMap.put("P_AGENT_ID", viewFormDO.getAgentId());
  85.  
  86. FlexiView flexiView = new FlexiView(jdbcTemplate, "PKG_XXXXX.prGetXXXXX", viewFormDO, reportId);
  87. flexiGridDetails = flexiView.executeStoredProc(valueMap);
  88.  
  89. return flexiGridDetails;
  90. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement