Oracleデータベースと対話するためにspring jdbctemplateを使用しています。 特定の条件に対して複数の行をフェッチする場合は、列名をヘッダーとして持つcsvファイルに結果を格納します。csv複数行のフェッチ中にspring-jdbctemplateを使用して出力する場合
私はいくつかの方法を試してみました -
customizedrowmapperでList<Bean> list = jdbcTemplate.query('query','parameters',customizedrowmapper);
、私は結果セットから行をフェッチし、Beanクラス内のフィールドを設定しています。私はbeanからcsvファイルに変換する簡単な方法を見つけることができませんでした。私はBeanクラスコードにアクセスできません。
私が見つけた2番目の方法は、opencsvライブラリを使用して、以下のようにcsvファイルに直接ResultSetを書き込むことでした。
CSVWriter wr = new CSVWriter(new FileWriter("Report.csv"), ','); wr.writeAll(rs, true); wr.flush(); wr.close();
これは大丈夫働いているが、CSVファイルへの書き込み中には、1行を飛ばしています。私はいくつかのクエリを試した。手動では、結果に4行が表示されますが、CSVでは3行しか格納されません。誰もが同様の問題に直面した?
あるいは、ResultSetから手動で各レコードを取得し、コンマ区切りの文字列にしてファイルに格納することなく、同じことを達成できる方法。