jdbctemplate을 사용하여 Oracle 데이터베이스와 상호 작용합니다. 주어진 조건에 대해 여러 행을 가져 오는 경우 열 이름을 헤더로 갖는 CSV 파일에 결과를 저장하려고합니다.여러 줄을 가져 오는 동안 spring-jdbctemplate을 사용하여 csv 출력
List<Bean> list = jdbcTemplate.query('query','parameters',customizedrowmapper);
customizedrowmapper에서, 나는 결과 집합에서 행을 페치와 콩 클래스의 필드를 설정하고 -
나는 몇 가지 방법을 시도했다. 내가 콩에서 CSV 파일로 변환하는 쉬운 방법을 찾을 수 없습니다. 나는 bean 클래스 코드에 접근 할 수 없다.내가 찾은 두 번째 방법은 opencsv 라이브러리를 사용하여 아래의 csv 파일에 직접 결과 세트를 작성하는 것이 었습니다.
CSVWriter wr = new CSVWriter(new FileWriter("Report.csv"), ','); wr.writeAll(rs, true); wr.flush(); wr.close();
이 괜찮 노력하고 있습니다 만, CSV로 쓰는 동안 그것은 하나 개의 행을 건너 뛰는된다. 몇 가지 쿼리를 시도했다. 수동으로 결과에 4 행을 볼 수 있지만 CSV에서는 3 행만 저장합니다. 누구든지 비슷한 문제에 직면 했습니까?
또는 다른 방법으로 우리는 ResultSet에서 수동으로 각 레코드를 가져 와서 쉼표로 구분 된 문자열로 만들고 파일에 저장하지 않고도 동일한 결과를 얻을 수 있습니다.