1.JdbcTemplate内置的batchUpdate()方法。
Statement和PrepareStatement都提供了如下的addBatch()方法:
addBatch(String sql) throws SQLException;
1).int[] batchUpdate(String[] sql) throws DataAccessExceptioin;
适用于小批量的CUD操作,SQL类型不限,由于其内部使用Statement语句,所以数据的操作效率一般。
2).int[] batchUpdate(String sql,BatchPrepareStatementSetter pss) thrwos DataAccessException;
也仅仅适用于小批量数据的CUD操作,内部使用了PreparedStatement语句,操作效率还可以。
BatchPrepareStatementSetter回调接口用于设定PreparedStatement的取值
这样的回调接口还有:
InterruptibleBatchPreparedStatementSetter
AbstractInterruptibleBatchPreparedStatementSetter
2.SimpleJdbcTemplate内置的batchUpdate()方法。
开发者不用直接通各种回调接口进行交互,尽管如此,也仅仅适合于小批量数据的CUD操作。
3.BatchSqlUpdate辅助类。
底层使用了JdbcTemplate模板的int[] batchUpdate(String sql,BatchPrepareStatementSetter pss) thrwos DataAccessException;
默认时每次处理5000条数据。 可适用于大批量数据的操作。
注意:此类不是线程安全的,在Web环境中使用时要注意了。