ItemWriter Interface

DB 혹은 파일에 Write 처리를 위하여 ItemWriter Interface를 구현한다.

(1) ItemWriter 작성

ItemProcessor에서 전달 받은 데이터를 DB에 등록 한다.

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

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

        /**
         * List로 전달된 Item를 Loop를 돌면서 DB에 Insert할 DTO를 List형태로 설정한다.
         */
        List<DSmpEmpTmp001insert01InDto> dSmpEmpTmp100insert01InDtos = new ArrayList<DSmpEmpTmp001insert01InDto>();
        for(MSmpDBToDBBtch02Dto mSmpDBToDBBtch02Dto : in)
        {
            DSmpEmpTmp001insert01InDto inDto = new DSmpEmpTmp100insert01InDto();
            inDto.setFeduEmpNo(mSmpDBToDBBtch02Dto.getFeduEmpNo());                // set [FW샘플 임직원번호]
            inDto.setFeduEmpNm(mSmpDBToDBBtch02Dto.getFeduEmpNm());                // set [FW샘플 임직원명]
            inDto.setFeduOccpNm(mSmpDBToDBBtch02Dto.getFeduOccpNm());              // set [FW샘플 직업명]
            inDto.setFeduMngrEmpNo(mSmpDBToDBBtch02Dto.getFeduMngrEmpNo());        // set [FW샘플 관리자임직원번호]
            inDto.setFeduHireDt(mSmpDBToDBBtch02Dto.getFeduHireDt());              // set [FW샘플 입사일자]
            inDto.setFeduPayAmt(mSmpDBToDBBtch02Dto.getFeduPayAmt());              // set [FW샘플 급여금액]
            inDto.setFeduDeptNo(mSmpDBToDBBtch02Dto.getFeduDeptNo());              // set [FW샘플 부서번호]
            dSmpEmpTmp100insert01InDtos.add(inDto);
        }

        /**
         * insert 처리
         * - 참고 1 : CONNECTED_BATCH로 C/U/D 처리는 Commit 시점에 bulk로 쿼리가 수행이 된다.
         * - 참고 2 : CONNECTED_BATCH로 C/U/D 처리는 Commit 시점에 수행이 되기때문에 return 값은 임의의 음수 값이다.(의미없음)
         */
        dSmpEmpTmp001.insert02(dSmpEmpTmp100insert01InDtos);
    }
SWLab Bankware Global
  • 전체
  • BXM
  • BXCM
  • BXCP
  • BXI
제품 선택 시 더 정확한 매뉴얼 가이드를 제공해드립니다.

Copyright© Bankwareglobal All Rights Reserved.