[英]what is difference between ResultSetExtractor vs Rowmapper?
[英]Difference between MappingSqlQuery or RowMapper and which one is recommended to perform select operation?
我想執行 SELECT 操作。 當我在谷歌上搜索時,我得到了MappingSqlQuery和RowMapper示例。 我對執行 SELECT 操作的最佳性能感到困惑?
MappingSqlQuery
實際上會在幕后創建一個RowMapper
並使用JdbcTemplate
來查詢結果:
public List<T> execute(@Nullable Object[] params, @Nullable Map<?, ?> context) throws DataAccessException {
validateParameters(params);
RowMapper<T> rowMapper = newRowMapper(params, context);
return getJdbcTemplate().query(newPreparedStatementCreator(params), rowMapper);
}
所以從性能的角度來看,直接使用RowMapper
和JDBCTemplate
應該比MappingSqlQuery
快一點。 但這是您感覺不到的微觀性能差異。
使用哪一種取決於您的喜好。 對於 MappingSqlQuery,您必須為每個查詢創建一個新類。 對於帶有JdbcTemplate
RowMapper
,您只需要為一組執行類似操作的查詢創建一個類。 對於查詢較多的系統,我會選擇后一種,因為我不喜歡創建太多的MappingSqlQuery
類。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.