public class JdbcBatchItemWriter<T> extends Object implements ItemWriter<T>, org.springframework.beans.factory.InitializingBean
ItemWriter that uses the batching features from
NamedParameterJdbcTemplate to execute a batch of statements for all items
provided.
ItemPreparedStatementSetter, or a ItemSqlParameterSourceProvider.
You can use either named parameters or the traditional '?' placeholders. If you use the
named parameter support then you should provide a ItemSqlParameterSourceProvider,
otherwise you should provide a ItemPreparedStatementSetter.
This callback would be responsible for mapping the item to the parameters needed to
execute the SQL statement.write(List) is called inside a transaction.| Modifier and Type | Field and Description |
|---|---|
protected static org.apache.commons.logging.Log |
logger |
| Constructor and Description |
|---|
JdbcBatchItemWriter() |
| Modifier and Type | Method and Description |
|---|---|
void |
afterPropertiesSet()
Check mandatory properties - there must be a SimpleJdbcTemplate and an SQL statement plus a
parameter source.
|
void |
setAssertUpdates(boolean assertUpdates)
Public setter for the flag that determines whether an assertion is made
that all items cause at least one row to be updated.
|
void |
setDataSource(DataSource dataSource)
Public setter for the data source for injection purposes.
|
void |
setItemPreparedStatementSetter(ItemPreparedStatementSetter<T> preparedStatementSetter)
Public setter for the
ItemPreparedStatementSetter. |
void |
setItemSqlParameterSourceProvider(ItemSqlParameterSourceProvider<T> itemSqlParameterSourceProvider)
Public setter for the
ItemSqlParameterSourceProvider. |
void |
setJdbcTemplate(org.springframework.jdbc.core.namedparam.NamedParameterJdbcOperations namedParameterJdbcTemplate)
Public setter for the
NamedParameterJdbcOperations. |
void |
setSql(String sql)
Public setter for the query string to execute on write.
|
void |
write(List<? extends T> items)
Process the supplied data element.
|
public void setAssertUpdates(boolean assertUpdates)
assertUpdates - the flag to set. Defaults to true;public void setSql(String sql)
ItemPreparedStatementSetter.sql - the query to setpublic void setItemPreparedStatementSetter(ItemPreparedStatementSetter<T> preparedStatementSetter)
ItemPreparedStatementSetter.preparedStatementSetter - the ItemPreparedStatementSetter to
set. This is required when using traditional '?' placeholders for the SQL statement.public void setItemSqlParameterSourceProvider(ItemSqlParameterSourceProvider<T> itemSqlParameterSourceProvider)
ItemSqlParameterSourceProvider.itemSqlParameterSourceProvider - the ItemSqlParameterSourceProvider to
set. This is required when using named parameters for the SQL statement and the type
to be written does not implement Map.public void setDataSource(DataSource dataSource)
dataSource - public void setJdbcTemplate(org.springframework.jdbc.core.namedparam.NamedParameterJdbcOperations namedParameterJdbcTemplate)
NamedParameterJdbcOperations.namedParameterJdbcTemplate - the NamedParameterJdbcOperations to setpublic void afterPropertiesSet()
afterPropertiesSet in interface org.springframework.beans.factory.InitializingBeanpublic void write(List<? extends T> items) throws Exception
ItemWriterwrite in interface ItemWriter<T>Exception - if there are errors. The framework will catch the
exception and convert or rethrow it as appropriate.Copyright © 2014 Pivotal. All rights reserved.