mybatis 셋팅 후 수십만건의 row를 가져와야 할 경우..
혹은 단순히 Collection 타입으로 result를 받아야하는 상황이 아니라
Map<String, List<String>> 이런 형태일 경우 ResultHandler를 사용 할 수 있다.
내 경우는 수십만건을 한번 읽어서 가져와야 하는 케이스였는데..
단순히 SqlSession으로부터 selectLIst를 하면 전체 row를 메모리에 올리기 때문에
어느정도 수준을 넘어가면 OOM이 발생한다.
DB에 있는 수십만 row를 읽어서, 파일로 떨궈내거나 할 때.. 쓰면 되겠다.
1. mapper xml을 사용하는 경우
2. mapper interface를 사용하는 경우