เมธอด queryforInt / queryforLong ใน JdbcTemplate เลิกใช้แล้วใน Spring 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 เป็นวิธีที่สะดวกเสมอ (ฉันเดา) และมีมานานแล้ว ทำไมถึงถูกลบออก รหัสมีความซับซ้อนมากขึ้นเป็นผลให้