Разница составляет удобство .
query(String sql, Object[] args, int[] argTypes, ...)
и query(String sql, Object[] args, ...)
- оба удобство методы, которые внутренне вызывают query(String sql, PreparedStatementSetter pss, ...)
.
Так же, как query(..., RowCallbackHandler rch)
и query(..., RowMapper<T> rowMapper)
оба являются удобными методами, которые внутренне вызывают query(..., ResultSetExtractor<T> rse)
.
Удобные методы удобны, потому что они значительно облегчают выполнение общих действий. , Предоставление доступа к базовому методу позволяет также выполнять необычные действия, если в этом возникает необходимость.
В качестве библиотеки, в которой вы никогда не знаете, что может понадобиться вызывающему, очень уместно предоставить вызывающему параметру выберите.
Большинству людей никогда не понадобятся версии PreparedStatementSetter
или ResultSetExtractor
, поэтому просто игнорируйте их, но помните, что они существуют, если вам когда-нибудь понадобится.