전체 글(96)
-
CompositeItemWriter 예제 - 구현
CompositeItemWriter 구현20건의 CSV 파일에서 데이터를 읽어서 MySQL, Oracle 데이터베이스에 적재하도록 구현. 테스트는 정상인 경우 오류인 경우 트랜잭션에 대한 동작 여부 확인 CompositItemWriterJob.xml 작성▩ Job ID 설정 ▩ Reader 설정 - compositeReader ▩ Writer 설정 - compositeWriter ▩ Writer Reference Bean 설정 - mysqlDbWriter ▩ Writer Reference Bean 설정 - oracleDbWriter ▩ OracleQuerySQL.xml - insertFifaRanking1 등록 쿼리 설정 INSERT /* id:insertFifaRanking1| Fifa 순위 저장 | ..
2018.12.02 -
CompositeItemWriter 예제 - 설정
CompositeItemWriter 설정리소스파일은 하나이고 두종류의 데이터베이스에 정보를 저장한다고 가정 해 본다면 하나의 READER와 두개의 WRITER를 구성하면 될 것이다.이와 같은 구성을 위해 CompositeItemWriter 사용에 대한 예제이다.이 예제의 가장 큰 목적은 2 Phase Commit을 구현하는데 있다. 하나의 데이터베이스 저장 시 오류가 난다면 전체 Transaction에 대한 Rollback처리 구현에 목적이 있다. 사전준비이제 두개의 데이터베이스를 사용해야 하므로 기존에 설정되었던 MySQL 이외에 Oracle DB에 대한 설정이 추가 되어져야 하므로 이와 관련된설정 파일 수정이 먼저 필요하다. 그리고 멀티 트랜잭션 관리를 위해 스프링의 ChainedTransaction..
2018.12.02 -
DB To File 예제
DbToFileJob.xml 작성 ▩ Job ID 설정 ▩ Reader 설정 - DbToFileReader - MyBatisPagingItemReader 를 이용하여 페이징 처리하여 데이터를 조회한다. - pageSize 크기를 주면 자동으로 Framework 내부적으로 페이징 처리를 한다. - 파라미터 추가 ▩ MySQLQuerySQL.xml select /* id:selectFifaRankings| Fifa 순위 조회 | DbToFileSQL.xml */ a.rnk , a.rnk_date , a.country_full , a.country_abrv , a.total_points , a.previous_points , a.rank_change , a.cur_year_avg , a.cur_year_avg..
2018.11.14 -
MULTI FILE TO DB - 다중파일 예제
MultiFileReaderToDb.xml 작성- Job 설정 - Reader 설정- Writer 설정은 FILE TO DB - Delimiter 예제 와 동일 ※ 예제파일은 기존 CSV 파일은 1개 이상의 파일로 나누어서 예제파일을 만든다. ▩ Job ID 설정 a ▩ Reader 설정 멀티파일 처리인 경우 MultiResourceItemReader를 통하여서 1개이상의 파일을 처리한다. 나머지 부분은 앞선 예제와 동일하다. ▩ 전체설정파일 나머지 설정 및 실행 은 이전 예제 FILE TO DB - Delimiter 예제 와 동일 [소스레파지토리]☞ https://github.com/roopy1210/springbatch/blob/master/spring_batch_tutorial
2018.11.01 -
FILE TO DB - Fixed Length 예제
FILE TO DB - Delimiter 예제 와 다른 점은 Job 설정, Reader설정, DTO 파일만 다르므로 이 두파일 만 작성 후 실행 FileFixedLengthToDbJob.xml 작성- Job 설정- Reader 설정- Writer 설정은 FILE TO DB - Delimiter 예제 와 동일 ▩ Job ID 설정 ▩ Reader 설정 1.EgovFixedLengthTokenizer 클래스를 이용하여서 Fixed Length 파싱 처리 - Columns의 Value는 Tab으로 구분한 컬럼의 시작 위치를 의미 1---------11-----------------------------42..... 1 Germany GER 0 57 0 2.EgovObjectMapper 클래스를 이용하여 파싱결..
2018.10.22 -
FILE TO DB - Delimiter 예제
사전준비아래 사이트에서 예제 CSV 파일을 다운 받는다. https://www.kaggle.com/tadhgfitzgerald/fifa-international-soccer-mens-ranking-1993now 테이블 생성CREATE TABLE `fifa_ranking` ( `rnk` smallint(6) NOT NULL, `rnk_date` varchar(8) NOT NULL, `country_full` varchar(50) NOT NULL, `country_abrv` varchar(10) DEFAULT NULL, `total_points` double DEFAULT NULL, `previous_points` smallint(6) DEFAULT NULL, `rank_change` smallint(6) ..
2018.10.14