Batch6 6. Spring Batch 청크 프로세스 활용 Step4 - JdbcBatchItemWriter / JpaItemWriter / ItemWriterAdapter 지금까지 ItemReader 구현체들을 통해서 DB에 있는 데이터들을 갖고오는 과정들을 진행했다면, 이번 시간에는 DB에 있는 데이터들을 갖고와서 DB에 저장하는 방법에 대해서 정리해 볼 생각이다. ItemWriter와 같은 경우에도 ItemReader 구현체와 같이 여러 종류의 ItemReader의 구현체가 있지만, DB와 관련된 ItemWriter에 대해서만 정리해보자. 1. JdbcBatchItemWriter JdbcCursorItemReader 설정과 마찬가지로 datasource를 지정하고, sql 속성에 실행할 쿼리를 설정 JDBC의 batch 기능을 사용하여 bulk insert/update/delete 방식으로 처리 단건 처리가 아닌 일괄처리이기 때문에 성능에 이점을 가진다 Jdbc.. 2022. 10. 3. 5. Spring Batch 청크 프로세스 활용 Step3 - ItemReaderAdapter 지금까지 Cursor 기반, Paging 기반 ItemReader에 대해 알아보는 시간을 갖었다. 추가적으로 배치 Job안에서 이미 존재하는 Dao 또는 다른 서비스를 ItemReader안에서 사용하고자 할때 위임 역할을 하는 것이 ItemReaderAdapter이다. 해당 내용은 간단해서 바로 소스 코드 작성하면서 이해해보자. 1) CustomerService 클래스 생성 public class CustomerService { public int cnt = 0; public T customRead() { return (T) ("item" + cnt++); } } 2) ItemReaderAdapterConfiguration 클래스 생성 @Configuration @RequiredArgsConstr.. 2022. 10. 3. 4. Spring Batch 청크 프로세스 활용 Step2 - Paging 기반의 ItemReader 지난 시간에는 Spring Batch 청크 프로세스 활용편으로 Cusor Based / Paging Based의 차이점과 Cursor 기반인 JdbcCursorItemReader와 JpaCursorItemReader에 대해 알아봤습니다. 이번 시간에는 Paging 기반인 JdbcPagingItemReader와 JpaPagingItemReader에 대해 알아보겠습니다. JdbcPagingItemReader Paging 기반의 JDBC 구현체로서 쿼리에 시작 행 번호(offset)와 페이지에서 반환 할 행 수(limit)를 지정해서 SQL을 실행 스프링 배치에서 offset과 limit을 PageSize에 맞게 자동으로 생성해 주며 페이징 단위로 데이터를 조회할 때 마다 새로운 쿼리가 실행 페이지마다 새.. 2022. 10. 3. 3. Spring Batch 청크 프로세스 활용 Step1 - Cursor 기반의 ItemReader 지난 시간에 스프링 배치 청크 프로세스에 대한 전체적인 이해, ChunkOrientedTasklet 객체에 대한 설명, 그리고 ChunkProvider, ChunkProcessor에 대해 알아보는 시간을 갖었다. 이번 시간에는 ChunkProvider가 요청하는 ItemReader에 대해서 알아보자. 우선, ItemReader는 아래와 같이 5개의 구현체가 있습니다. 1) Flat Files - FlatFileItemReader 2) XML - StaxEventItemReader 3) Json - JsonItemReader 4) DB - JDBC ItemReader, JPA ItemReader 인프런 강의에는 전부 설명이 나와있지만, 현재 회사의 경우에는 DB - JDBC ItemReader, J.. 2022. 10. 3. 이전 1 2 다음