Class BatchInsertCSV

All Implemented Interfaces:
AdaptrisComponent, ComponentLifecycle, ComponentLifecycleExtension, ConfigComment, 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
   
 
will effectively execute the following statement INSERT INTO table (firstname,lastname,dob) VALUES (?,?,?) 3 times; batching as required using PreparedStatement.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.

  • Field Details

  • Constructor Details

    • BatchInsertCSV

      public BatchInsertCSV()
  • Method Details

    • 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 SQLException
      Throws:
      SQLException
    • getBatchWindow

      public Integer getBatchWindow()
      Returns:
      the batchWindow
    • setBatchWindow

      public void setBatchWindow(Integer i)
      Set the batch window for operations.
      Parameters:
      i - the batchWindow to set; default is 1024 if not specified.