簡體   English   中英

MappingSqlQuery 和 RowMapper 的區別,推薦使用哪一個進行選擇操作?

[英]Difference between MappingSqlQuery or RowMapper and which one is recommended to perform select operation?

我想執行 SELECT 操作。 當我在谷歌上搜索時,我得到了MappingSqlQueryRowMapper示例。 我對執行 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);
}

所以從性能的角度來看,直接使用RowMapperJDBCTemplate應該比MappingSqlQuery快一點。 但這是您感覺不到的微觀性能差異。

使用哪一種取決於您的喜好。 對於 MappingSqlQuery,您必須為每個查詢創建一個新類。 對於帶有JdbcTemplate RowMapper ,您只需要為一組執行類似操作的查詢創建一個類。 對於查詢較多的系統,我會選擇后一種,因為我不喜歡創建太多的MappingSqlQuery類。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM