JdbcTemplate में queryforInt / queryforLong तरीके स्प्रिंग 3.2 में चित्रित किए गए हैं। मैं पता नहीं लगा सकता कि इन तरीकों का उपयोग करके मौजूदा कोड को बदलने के लिए सबसे अच्छा अभ्यास क्यों या क्या माना जाता है।
एक विशिष्ट विधि:
int rowCount = jscoreJdbcTemplate.queryForInt(
"SELECT count(*) FROM _player WHERE nameKey = ? AND teamClub = ?",
playerNameKey.toUpperCase(),
teamNameKey.toUpperCase()
);
उपर्युक्त विधि को निम्न प्रकार से फिर से लिखना होगा:
Object[] params = new Object[] {
playerNameKey.toUpperCase(),
teamNameKey.toUpperCase()
};
int rowCount = jscoreJdbcTemplate.queryForObject(
"SELECT count(*) FROM _player WHERE nameKey = ? AND teamClub = ?",
params, Integer.class);
स्पष्ट रूप से यह अपवर्जन JdbcTemplate वर्ग को सरल बनाता है (या करता है?)। QueryForInt हमेशा एक सुविधा विधि थी (मुझे लगता है) और एक लंबे समय के आसपास रही है। क्यों हटाया गया है। परिणामस्वरूप कोड अधिक जटिल हो जाता है।
@Deprecated
null
(आपके उदाहरण में मामला नहीं)। मुझे अब डुप्लिकेट चेक कोड से कोई दूसरा रास्ता नहीं मिला, जो कि क्वेरीफ़र्ट / लॉन्ग से शून्य चेक कोड है।