Spring SimpleJdbcTemplate batchUpdate()の例

Spring SimpleJdbcTemplate batchUpdate()の例

このチュートリアルでは、SimpleJdbcTemplateクラスでbatchUpdate()を使用する方法を示します。

SimpleJdbcTemplateクラスのbatchUpdate()の例を参照してください。

//insert batch example
public void insertBatch(final List customers){
    String sql = "INSERT INTO CUSTOMER " +
        "(CUST_ID, NAME, AGE) VALUES (?, ?, ?)";

    List parameters = new ArrayList();

    for (Customer cust : customers) {
        parameters.add(new Object[] {cust.getCustId(),
            cust.getName(), cust.getAge()}
        );
    }
    getSimpleJdbcTemplate().batchUpdate(sql, parameters);
}

または、SQLを直接実行できます。

//insert batch example with SQL
public void insertBatchSQL(final String sql){

    getJdbcTemplate().batchUpdate(new String[]{sql});

}

Spring Bean構成ファイル



    

        
    

    

        
        
        
        
    

それを実行します

package com.example.common;

import java.util.ArrayList;
import java.util.List;

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import com.example.customer.dao.CustomerDAO;
import com.example.customer.model.Customer;

public class App
{
    public static void main( String[] args )
    {
        ApplicationContext context =
            new ClassPathXmlApplicationContext("Spring-Customer.xml");

        CustomerDAO customerSimpleDAO =
                      (CustomerDAO) context.getBean("customerSimpleDAO");

        Customer customer1 = new Customer(1, "example1",21);
        Customer customer3 = new Customer(2, "example2",22);
        Customer customer2 = new Customer(3, "example3",23);

        Listcustomers = new ArrayList();
        customers.add(customer1);
        customers.add(customer2);
        customers.add(customer3);

        customerSimpleDAO.insertBatch(customers);

        String sql = "UPDATE CUSTOMER SET NAME ='BATCHUPDATE'";
        customerSimpleDAO.insertBatchSQL(sql);

    }
}

この例では、3人の顧客のレコードが挿入され、すべての顧客の名前がバッチで更新されます。

ソースコードをダウンロード

ダウンロード–Spring-SimpleJdbcTemplate-batchUpdate-Example.zip(15 KB)