Veritabanından veri almak için ResultSetExtractor
nasıl kullanılır? Burada arka uç olarak Oracle 10g kullanıyorum. Çalışan Tablodan Çalışan detaylarının aranması durumunda hangisinin ResultSetExtractor
veya RowMapper
'u kullanması daha iyidir? Yay jdbc üzerinde iyi bir makale vardırYay SonucuSetExtractor
5
A
cevap
2
takiben örnek kullanım şöyledir:
PersonResultSetExtractor sınıfı:
package dao.mapper;
import java.sql.ResultSet;
import java.sql.SQLException;
import org.springframework.jdbc.core.ResultSetExtractor;
import domainmodel.Person;
public class PersonResultSetExtractor implements ResultSetExtractor {
@Override
public Object extractData(ResultSet rs) throws SQLException {
Person person = new Person();
person.setFirstName(rs.getString(1));
person.setLastName(rs.getString(2));
return person;
}
}
RowMapper:
package dao.mapper;
import java.sql.ResultSet;
import java.sql.SQLException;
import org.springframework.jdbc.core.RowMapper;
public class PersonRowMapper implements RowMapper {
@Override
public Object mapRow(ResultSet rs, int line) throws SQLException {
PersonResultSetExtractor extractor = new PersonResultSetExtractor();
return extractor.extractData(rs);
}
}
0
Daha basit bir örnek:
MyDataStructure result = jdbcTemplate.query(sql, new ResultSetExtractor<MyDataStructure>() {
@Override
public MyDataStructure extractData(final ResultSet rs) throws ... {
// collect data from rs here ...
return myData;
}
});
0
biri de java 8 yana satır haritalama rutin olarak kapanışları (lambda'lar) kullanabilirsiniz:
String sql = "select first_name, last_name from PERSON where id = ?";
public Person jdbcTemplate.query(sql,(rs)->{return new Person(rs.getString("first_name"), rs.getString("last_name"));}, int id);
İlk yöntem param senin sorgu, ikinci - senin mapper - Kişi (String, String) Yapıcı gereklidir . "first_name", "last_name" db sütun adlarıdır. Üçüncü olarak - id için arg, daha fazla param koyabilirsiniz bir vararg var.
İlgili konular
- 1. Yay ::
- 2. Yay: @PostConstruct
- 3. Yay denetleyiciden
- 4. Yay Batch
- 5. Yay kontrol
- 6. Yay NoClassDefFoundError
- 7. Yay test ve mafsallı yay mvc test ünitesi
- 8. Yay Güvenliği Değişim yapılandırması
- 9. Mongo Db ve Yay
- 10. Yay güvenliği erişim sorumlusu
- 11. Yay denetleyicide normal regex
- 12. ServletContext ve Yay MVC
- 13. Yay mvc sunucu başlatması
- 14. Yay verileri ve kilitleme
- 15. NoClassDefFoundError, yay + hız
- 16. Java yay denetleyicisi eşlenmiyor
- 17. Yay Verilerindeki alanları seçme
- 18. Yay ek açıklamaları
- 19. Facelet ile yay mvc
- 20. Yay isteği kapsamı fasulye
- 21. Yay Hizmeti varsayılan kapsamı
- 22. Yayılımı Destekleyen Yay İşlemleri
- 23. Yay profili varsayılan davranışı
- 24. Yay İşlemsel Ek Açıklama
- 25. Yay Güvenliği Java Config
- 26. Yay Güvenliği 3.1 Çalıştırma
- 27. Yay İşlemleri ve hibernate.current_session_context_class
- 28. Yay arama yöntemi
- 29. Yay oluşturulan WSDL
- 30. Yay güvenliği - expiredUrl çalışmıyor
Teşekkürler cevap için teşekkürler. Oldukça kullanışlı. –
Ayrıca sadece 'ResultSetExtractor' kullanarak bir yol daha bulabilirim. Not burada –
İmleci ilk satırdan önce konumlandırıldığı için rs.next() öğesini çağırmayı unutmayın. –