Example usage for org.springframework.batch.item.database JdbcBatchItemWriter setDataSource

List of usage examples for org.springframework.batch.item.database JdbcBatchItemWriter setDataSource

Introduction

In this page you can find the example usage for org.springframework.batch.item.database JdbcBatchItemWriter setDataSource.

Prototype

public void setDataSource(DataSource dataSource) 

Source Link

Document

Public setter for the data source for injection purposes.

Usage

From source file:io.spring.batch.configuration.BatchConfiguration.java

@Bean
protected JdbcBatchItemWriter<Customer> writer(DataSource dataSource) {
    JdbcBatchItemWriter<Customer> writer = new JdbcBatchItemWriter<>();
    writer.setDataSource(dataSource);
    writer.setSql("INSERT INTO CUSTOMER VALUES(:customerName, :qty)");
    writer.setItemSqlParameterSourceProvider(new BeanPropertyItemSqlParameterSourceProvider<Customer>());
    writer.afterPropertiesSet();// w ww  .j  a v  a2s  . com

    return writer;
}

From source file:com.apress.prospringintegration.batch.JobConfiguration.java

@Bean
public JdbcBatchItemWriter dataWriter() {
    JdbcBatchItemWriter jdbcBatchItemWriter = new JdbcBatchItemWriter();
    jdbcBatchItemWriter.setAssertUpdates(true);
    jdbcBatchItemWriter.setDataSource(dataSource);
    jdbcBatchItemWriter.setSql("insert into USER_REGISTRATION(FIRST_NAME, LAST_NAME, COMPANY,"
            + "ADDRESS, CITY, STATE, ZIP, COUNTY, URL, PHONE_NUMBER, FAX )"
            + "values (:firstName, :lastName, :company, :address, :city ,"
            + ":state, :zip, :county, :url, :phoneNumber, :fax )");

    jdbcBatchItemWriter.setItemSqlParameterSourceProvider(new BeanPropertyItemSqlParameterSourceProvider());

    return jdbcBatchItemWriter;
}

From source file:de.codecentric.batch.jobs.FlatFileToDbSkipJobConfiguration.java

@Bean
public JdbcBatchItemWriter<Item> jdbcBatchItemWriter() {
    JdbcBatchItemWriter<Item> itemWriter = new JdbcBatchItemWriter<Item>();
    itemWriter.setSql("INSERT INTO ITEM (ID, DESCRIPTION) VALUES (:id,:description)");
    itemWriter.setDataSource(dataSource);
    itemWriter.setItemSqlParameterSourceProvider(new BeanPropertyItemSqlParameterSourceProvider<Item>());
    return itemWriter;
}

From source file:io.spring.batch.configuration.JobConfiguration.java

@Bean
@StepScope//  w w w  . ja va 2s  .c o m
public JdbcBatchItemWriter<Customer> customerItemWriter() {
    JdbcBatchItemWriter<Customer> itemWriter = new JdbcBatchItemWriter<>();

    itemWriter.setDataSource(this.dataSource);
    itemWriter.setSql("INSERT INTO NEW_CUSTOMER VALUES (:id, :firstName, :lastName, :birthdate)");
    itemWriter.setItemSqlParameterSourceProvider(new BeanPropertyItemSqlParameterSourceProvider());
    itemWriter.afterPropertiesSet();

    return itemWriter;
}

From source file:de.codecentric.batch.jobs.FlatFileToDbNoSkipJobConfiguration.java

@Bean
public JdbcBatchItemWriter<Item> jdbcBatchItemWriter() {
    JdbcBatchItemWriter<Item> itemWriter = new JdbcBatchItemWriter<Item>();
    itemWriter.setSql(/*from   w ww.  ja  v  a2  s. c  o m*/
            "INSERT INTO ITEM (ID, DESCRIPTION, FIRST_ACTION, SECOND_ACTION) VALUES (:id,:description,:firstAction,:secondAction)");
    itemWriter.setDataSource(dataSource);
    itemWriter.setItemSqlParameterSourceProvider(new BeanPropertyItemSqlParameterSourceProvider<Item>());
    return itemWriter;
}

From source file:com.github.jrrdev.mantisbtsync.core.jobs.enums.EnumsWritersConfiguration.java

/**
 * Build the JdbcBatchItemWriter for the given enums table.
 *
 * @param tableName/*from   www.  j a v  a2  s. c  o m*/
 *       Name of the destination table
 * @param dataSource
 *       The datasource
 * @return
 */
private JdbcBatchItemWriter<ObjectRef> getEnumWriter(final String tableName, final DataSource dataSource) {
    final JdbcBatchItemWriter<ObjectRef> writer = new JdbcBatchItemWriter<ObjectRef>();
    writer.setItemSqlParameterSourceProvider(new BeanPropertyItemSqlParameterSourceProvider<ObjectRef>());
    writer.setSql(getMergeStatement(tableName));
    writer.setDataSource(dataSource);
    return writer;
}

From source file:io.spring.marchmadness.MooreStatConfiguration.java

@Bean
public ItemWriter<MooreNcaaStat> writer(DataSource dataSource) {
    JdbcBatchItemWriter<MooreNcaaStat> writer = new JdbcBatchItemWriter<MooreNcaaStat>();
    writer.setItemSqlParameterSourceProvider(new BeanPropertyItemSqlParameterSourceProvider<MooreNcaaStat>());
    writer.setSql("INSERT INTO MOORE_NCAA_STATS (YEAR, RANK, " + "NAME, " + "WIN, " + "LOSS, " + "TIE, "
            + "SOS, " + "PR ) VALUES (:year, :rank, :name, :win, :loss, :tie, :sos, :pr)");
    writer.setDataSource(dataSource);
    return writer;
}

From source file:com.github.jrrdev.mantisbtsync.core.jobs.projects.ProjectsWritersConfiguration.java

/**
 * Build the composite writer upserting the data related to the users of a project.
 * Perform upsert in the mantis_user_table and mantis_project_user_list_table tables.
 *
 * @param dataSource/*w  w w  .  j  a  va  2 s  .  c  o  m*/
 *          The datasource
 * @return the writer upserting the data related to the users of a project
 */
@Bean
@StepScope
public CompositeItemWriter<AccountData> projectUsersWriter(final DataSource dataSource,
        @Value("#{jobExecutionContext['mantis.loop.project_id']}") final BigInteger projectId) {

    final JdbcBatchItemWriter<AccountData> writer1 = new JdbcBatchItemWriter<AccountData>();
    writer1.setItemSqlParameterSourceProvider(new BeanPropertyItemSqlParameterSourceProvider<AccountData>());
    writer1.setSql("INSERT INTO mantis_user_table (id, name)\n" + " VALUES (:id, :name)\n"
            + " ON DUPLICATE KEY UPDATE name = :name");
    writer1.setDataSource(dataSource);
    writer1.afterPropertiesSet();

    final JdbcBatchItemWriter<AccountData> writer2 = new JdbcBatchItemWriter<AccountData>();
    writer2.setItemSqlParameterSourceProvider(new BeanPropertyItemSqlParameterSourceProvider<AccountData>());
    writer2.setSql("INSERT INTO mantis_project_user_list_table (user_id, project_id)\n" + " VALUES (:id, "
            + projectId + ")\n" + " ON DUPLICATE KEY UPDATE project_id = project_id");
    writer2.setDataSource(dataSource);
    writer2.setAssertUpdates(false);
    writer2.afterPropertiesSet();

    final CompositeItemWriter<AccountData> compositeWriter = new CompositeItemWriter<AccountData>();
    final List<ItemWriter<? super AccountData>> writerList = new ArrayList<ItemWriter<? super AccountData>>();
    writerList.add(writer1);
    writerList.add(writer2);
    compositeWriter.setDelegates(writerList);

    return compositeWriter;
}

From source file:org.cloudfoundry.workers.stocks.batch.BatchConfiguration.java

/***
 * The Spring Batch {@link org.springframework.batch.item.ItemWriter item
 * writer} persists the {@link StockSymbolLookup} lookup results into a
 * table (<CODE>STOCKS_DATA</CODE>).
 * //from   w w  w. ja v  a2  s .  c om
 * @param dateOfAnalysis
 */
@Bean(name = "writer")
@Scope("step")
public JdbcBatchItemWriter<StockSymbolLookup> writer(
        final @Value("#{jobParameters['date']}") Date dateOfAnalysis) {
    JdbcBatchItemWriter<StockSymbolLookup> jdbcBatchItemWriter = new JdbcBatchItemWriter<StockSymbolLookup>();
    jdbcBatchItemWriter.setSql(
            "INSERT INTO STOCKS_DATA( DATE_ANALYSED, HIGH_PRICE, LOW_PRICE,  CLOSING_PRICE, SYMBOL) VALUES ( :da, :hp, :lp,  :cp, :s ) ");
    jdbcBatchItemWriter.setDataSource(dsConfig.dataSource());
    jdbcBatchItemWriter
            .setItemSqlParameterSourceProvider(new ItemSqlParameterSourceProvider<StockSymbolLookup>() {
                @Override
                public SqlParameterSource createSqlParameterSource(StockSymbolLookup item) {
                    return new MapSqlParameterSource()
                            .addValue("da", new java.sql.Date(dateOfAnalysis.getTime()), Types.DATE)
                            .addValue("hp", item.getHighPrice(), Types.DOUBLE)
                            .addValue("lp", item.getLowPrice(), Types.DOUBLE).addValue("s", item.getTicker())
                            .addValue("si", item.getId(), Types.BIGINT)
                            .addValue("cp", item.getLastValueWhileOpen(), Types.DOUBLE);

                }
            });
    return jdbcBatchItemWriter;
}

From source file:uk.ac.kcl.batch.JobConfiguration.java

@Bean
@StepScope//from  w  ww. ja va2s  . com
@Qualifier("mapJdbcItemWriter")
@Profile("jdbc_out_map")
public ItemWriter<Document> mapJdbcItemWriter(@Qualifier("targetDataSource") DataSource jdbcDocumentTarget) {
    JdbcBatchItemWriter<Document> writer = new JdbcBatchItemWriter<>();
    writer.setItemSqlParameterSourceProvider(new MapItemSqlParameterSourceProvider<Document>());
    writer.setSql(env.getProperty("target.Sql"));
    writer.setDataSource(jdbcDocumentTarget);
    return writer;
}