Batch Update

DBIO의 Executor 유형에 "BATCH"가 지정되면 입력, 수정, 삭제와 같은 데이터 처리시에 DBIO는 건 별로 Statement의 addBatch를 호출하고 구간별 커밋이 발생할 때 executeBatch를 호출하여 일괄 처리한다. 이러한 사용방법은 대량 데이터를 처리하는 배치 어플리케이션 실행환경에 적합한 처리 성능을 제공한다.

  • DBIO Executor 유형 (Batch Fetch와 동일)

chapter5-connected-batch-update
Figure 1. DBIO Executor - BATCH(Insert/Update/Delete)
  • ItemWriter에서 DBIO 사용

@Component("MMdpCustMng03")
@BxmCategory(logicalName = "샘플고객처리배치모듈03")
public class MMdpCustMng03 implements ItemWriter<MMdpCustMng03Dto> {
    final Logger logger = LoggerFactory.getLogger(this.getClass());

    @Autowired
    private DTblEduCustomer001 dTblEduCustomer001;

    @Override
    public void write(List<? extends MMdpCustMng03Dto> input) throws Exception {

        List<DEduCustomer001Insert01InDto> customers = new ArrayList<DEduCustomer001Insert01InDto>();

        for(MMdpCustMng03OutDto mMdpCustMng01OutDto : input)
        {
            DEduCustomer001Insert01InDto customer = new DEduCustomer001Insert01InDto();

            customer.setCustId(mMdpCustMng01OutDto.getCustId());// set [고객ID]

            customers.add(customer);
        }

        dTblEduCustomer001.inser01(customers); // (1)
    }

(1) "BATCH" Executor DBIO는 List로 데이터를 전달받을 수 있으며, 전달받은 데이터는 커밋 시 쿼리가 수행이 되어 처리가 된다. "Batch Update"를 이용하면 커밋 시 쿼리가 수행이 되기 때문에 DBIO를 호출하는 시점에는 오류가 발생하지 않는다.

SWLab Bankware Global
  • 전체
  • BXM
  • BXCM
  • BXCP
  • BXI
제품 선택 시 더 정확한 매뉴얼 가이드를 제공해드립니다.

Copyright© Bankwareglobal All Rights Reserved.