Package com.adaptris.csv.jdbc
Class BatchInsertCSV
- java.lang.Object
-
- com.adaptris.core.ServiceImp
-
- com.adaptris.core.jdbc.JdbcService
-
- com.adaptris.core.services.jdbc.JdbcMapInsert
-
- com.adaptris.csv.jdbc.BatchInsertCSV
-
- All Implemented Interfaces:
AdaptrisComponent
,ComponentLifecycle
,ComponentLifecycleExtension
,ConnectedService
,MessageEventGenerator
,Service
,StateManagedComponent
@ComponentProfile(summary="Insert a CSV file into a database", tag="service,csv,jdbc", since="3.6.5") public class BatchInsertCSV extends JdbcMapInsert
Convenience service for inserting a CSV file into a database.This creates insert statements based on the CSV file. The actual insert statement will only be generated once based on the first CSV line and executed the appropriate number of times.
firstname, lastname, dob alice, bob, 2017-01-01 bob, smith, 2017-01-01 carol, smith,2017-01-01
INSERT INTO table (firstname,lastname,dob) VALUES (?,?,?)
3 times; batching as required usingPreparedStatement.addBatch()
/Statement.executeBatch()
.Note that no parsing/assertion of the column names will be done, so if they are invalid SQL columns then it's going to be fail.
- Since:
- 3.6.5
In the adapter configuration file this class is aliased as csv-jdbc-batch-insert which is the preferred alternative to the fully qualified classname when building your configuration.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class com.adaptris.core.services.jdbc.JdbcMapInsert
JdbcMapInsert.BasicType, JdbcMapInsert.InsertWrapper, JdbcMapInsert.StatementParam, JdbcMapInsert.StatementWrapper
-
-
Field Summary
Fields Modifier and Type Field Description static int
DEFAULT_BATCH_WINDOW
-
Fields inherited from class com.adaptris.core.ServiceImp
log
-
-
Constructor Summary
Constructors Constructor Description BatchInsertCSV()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description protected static int
accumulate(int[] rc)
void
doService(AdaptrisMessage msg)
java.lang.Integer
getBatchWindow()
PreferenceBuilder
getPreferenceBuilder()
void
setBatchWindow(java.lang.Integer i)
Set the batch window for operations.void
setPreferenceBuilder(PreferenceBuilder formatBuilder)
-
Methods inherited from class com.adaptris.core.services.jdbc.JdbcMapInsert
addUpdatedMetadata, buildStatementParam, closeJdbcService, columnBookend, getColumnBookendCharacter, getFieldMappings, getRowsAffectedMetadataKey, getTable, handleInsert, initJdbcService, prepareService, setColumnBookendCharacter, setFieldMappings, setRowsAffectedMetadataKey, setTable, startService, stopService, table, withColumnBookend, withMappings, withRowsAffectedMetadataKey, withTable
-
Methods inherited from class com.adaptris.core.jdbc.JdbcService
applyTimeout, closeService, createStatement, getConnection, getConnection, getStatementTimeout, initService, prepare, prepareStatement, prepareStatement, setConnection, setStatementTimeout, start, stop
-
Methods inherited from class com.adaptris.core.ServiceImp
changeState, close, continueOnFailure, createName, createQualifier, getContinueOnFail, getIsTrackingEndpoint, getUniqueId, init, isBranching, isTrackingEndpoint, requestClose, requestInit, requestStart, requestStop, retrieveComponentState, setContinueOnFail, setIsTrackingEndpoint, setUniqueId
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface com.adaptris.core.AdaptrisComponent
getUniqueId
-
Methods inherited from interface com.adaptris.core.ComponentLifecycle
close, init
-
Methods inherited from interface com.adaptris.core.MessageEventGenerator
createName, createQualifier, isTrackingEndpoint
-
Methods inherited from interface com.adaptris.core.Service
continueOnFailure, isBranching, setUniqueId
-
Methods inherited from interface com.adaptris.core.StateManagedComponent
changeState, requestClose, requestInit, requestStart, requestStop, retrieveComponentState
-
-
-
-
Field Detail
-
DEFAULT_BATCH_WINDOW
public static final int DEFAULT_BATCH_WINDOW
- See Also:
- Constant Field Values
-
-
Method Detail
-
getPreferenceBuilder
public PreferenceBuilder getPreferenceBuilder()
- Returns:
- the formatBuilder
-
setPreferenceBuilder
public void setPreferenceBuilder(PreferenceBuilder formatBuilder)
- Parameters:
formatBuilder
- the formatBuilder to set
-
doService
public void doService(AdaptrisMessage msg) throws ServiceException
- Throws:
ServiceException
-
accumulate
protected static int accumulate(int[] rc) throws java.sql.SQLException
- Throws:
java.sql.SQLException
-
getBatchWindow
public java.lang.Integer getBatchWindow()
- Returns:
- the batchWindow
-
setBatchWindow
public void setBatchWindow(java.lang.Integer i)
Set the batch window for operations.- Parameters:
i
- the batchWindow to set; default is 1024 if not specified.
-
-