2014-09-30 16 views
6

के लिए ParameterizedRowMapper से सिंगलकॉलमरोमैमैपर से अपग्रेडिंग मैं स्प्रिंग 3 में स्प्रिंग 3 एप्लिकेशन को अपग्रेड कर रहा हूं। मेरा @Repository ऑब्जेक्ट्स पर SQL परिणामों को मैप करने के लिए ParameterizedRowMapper ऑब्जेक्ट्स है। लेकिन वसंत 4 के बाद से इंटरफ़ेस deprecated "नियमित SingleColumnRowMapper के पक्ष में" रहा है। लेकिन मैं एकाधिक कॉलम मैपिंग के लिए मैपर का उपयोग करता हूं। SingleColumnRowMapper का उपयोग करके एकाधिक कॉलम मैप करने का मेरा मतलब कैसा है? या क्या मेरा मतलब कुछ अलग करना है?एकाधिक कॉलम

private static final ParameterizedRowMapper<Thing> THING_ENTRY_MAPPER = new ParameterizedRowMapper<Thing>() { 

     @Override 
     public Thing mapRow(ResultSet rs, int rowNum) throws SQLException { 
      return new Thing(rs.getLong(1), rs.getLong(2), rs.getInt(3)); 
     } 
    }; 


    @Override 
    public List<Thing> getThings(
      ID id, long start, long end) { 
     final Map<String, Object> params = new HashMap<String, Object>(4); 
     putIDParams(params, id); 
     putTimeRangeParams(params, start, end); 
     return getNamedParameterJdbcTemplate().query(QUERY_THING, params, 
      THING_ENTRY_MAPPER); 
    } 

कैसे मैं अब कार्यक्षमता उस तरह लागू करने की जानी चाहिए:

उदाहरण के लिए, यहाँ कोड की तरह मैं अब है?

+0

हम्म यह सुनिश्चित नहीं है कि यह वहां क्यों है लेकिन मुझे यकीन है कि यह एक टाइपो है। यह नियमित ['RowMapper'] होना चाहिए (http://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/jdbc/core/RowMapper.html) इसके बजाय। स्प्रिंग 3.x के बाद से पैरामीटर किया गया है और इस तरह 'पैरामीटरेटेडरोमैपर' अप्रचलित है। –

+0

यह भी देखें http://stackoverflow.com/questions/6960542/parameterizedrowmapper-is-recommended-or-rowmapper – Raedwald

उत्तर

10

जावाडोक गलत लगता है। स्प्रिंग फ्रेमवर्क डिजाइनर शायद ParameterizedRowMapper<Thing> को प्रतिस्थापित करने के लिए RowMapper<Thing> इंटरफ़ेस का उपयोग करना चाहते हैं। यही है, बेस इंटरफ़ेस का उपयोग करें।

संबंधित मुद्दे