ItemWriter Interface

Implement the ItemWriter Interface to perform write processing to a DB or file.

(1) Creating an ItemWriter

Register the data received from ItemProcessor in the DB.

public class MSmpDBToDBBtch implements ItemReader<MSmpDBToDBBtch01Dto>
    , ItemProcessor<MSmpDBToDBBtch01Dto, MSmpDBToDBBtch02Dto>
    , ItemWriter<MSmpDBToDBBtch02Dto>, ItemStream { // Added ItemWriter Interface

    @Override
    public void write(List<? extends MSmpDBToDBBtch02Dto> in) throws Exception
    {
        if(dSmpEmpTmp001 == null)
        {
            dSmpEmpTmp001 = DefaultApplicationContext.getBean(DSmpEmpTmp001.class);
        }

        /**
         * While looping through the Items delivered as a List,
         * set the DTOs to be inserted into the DB in a List format.
         */
        List<DSmpEmpTmp001insert01InDto> dSmpEmpTmp100insert01InDtos = new ArrayList<DSmpEmpTmp001insert01InDto>();
        for(MSmpDBToDBBtch02Dto mSmpDBToDBBtch02Dto : in)
        {
            DSmpEmpTmp001insert01InDto inDto = new DSmpEmpTmp100insert01InDto();
            inDto.setFeduEmpNo(mSmpDBToDBBtch02Dto.getFeduEmpNo());                // set [FW sample employee number]
            inDto.setFeduEmpNm(mSmpDBToDBBtch02Dto.getFeduEmpNm());                // set [FW sample employee name]
            inDto.setFeduOccpNm(mSmpDBToDBBtch02Dto.getFeduOccpNm());              // set [FW sample occupation name]
            inDto.setFeduMngrEmpNo(mSmpDBToDBBtch02Dto.getFeduMngrEmpNo());        // set [FW sample manager employee number]
            inDto.setFeduHireDt(mSmpDBToDBBtch02Dto.getFeduHireDt());              // set [FW sample hire date]
            inDto.setFeduPayAmt(mSmpDBToDBBtch02Dto.getFeduPayAmt());              // set [FW sample salary amount]
            inDto.setFeduDeptNo(mSmpDBToDBBtch02Dto.getFeduDeptNo());              // set [FW sample department number]
            dSmpEmpTmp100insert01InDtos.add(inDto);
        }

        /**
         * insert processing
         * - Note 1: For C/U/D processing with CONNECTED_BATCH, queries are executed in bulk at the commit point.
         * - Note 2: For C/U/D processing with CONNECTED_BATCH, since it is executed at the commit point,
         *           the return value is an arbitrary negative value (no meaning).
         */
        dSmpEmpTmp001.insert02(dSmpEmpTmp100insert01InDtos);
    }
SWLab Bankware Global
  • 전체
  • BXM
  • BXCM
  • BXCP
  • BXI
제품 선택 시 더 정확한 매뉴얼 가이드를 제공해드립니다.

Copyright© Bankwareglobal All Rights Reserved.