Qiita https://qiita.com/suema0331/items/e3ca75dff8e9118772bc のRowCallbackHandlerのサンプルを以下のようにしました。
------------------------------------------------------------------------------
public class AccountRowCallBackHandler implements RowCallbackHandler{
// CSV 出力パス
public static String PATH="rowcallback.csv";
@Override
public void processRow(ResultSet rs) throws SQLException {
// CSV出力のため、1行データは、配列に格納する。
// 全データ格納リスト
List<String[]> dataList=new ArrayList<>();
do {
String[] dataArray=new String[6];
dataArray[0]=String.valueOf(rs.getLong("ID"));
dataArray[1]=rs.getString("ACCOUNT_GROUP");
dataArray[2]=rs.getString("MAIL");
dataArray[3]=rs.getString("NAME");
dataArray[4]=rs.getString("PASSWORD");
dataArray[5]=rs.getString("USER_ID");
dataList.add(dataArray);
}while(rs.next());
write(dataList,PATH);
}
// CSVファイル書き込み処理
public void write(List<String[]> list,String outputPath){
File file=new File(outputPath);
Path path=file.toPath();
// CSV書き込み処理
try {
Files.write(path, list.stream().map(s -> String.join(",",s)).collect(Collectors.toList()),
StandardCharsets.UTF_8, // 文字コード
StandardOpenOption.WRITE, // 書込みモード
StandardOpenOption.CREATE, // ファイルがなければ新規作成
StandardOpenOption.TRUNCATE_EXISTING // すでにファイルがある場合は、ファイルを削除
);
} catch (IOException e) {
System.out.print("CSV書き出し失敗");
e.printStackTrace();
}
}
}