2011-08-09 7 views
1

私たちは、このWebアプリケーションを使用するレポート画面を開発するための新しい内部プロジェクトに取り組んでおり、生成されたcsvまたはExcelファイルを分析に使用します。すべてのinPutパラメータはWebアプリケーションを介して与えられます。その後、レポート・フレームワークは、入力パラメータとともにこのSQLを実行する必要があります。通常、生成されるレポートには最大500k行が含まれており、csvにエクスポートするかExcelにエクスポートする必要があります。私は次の質問にいくつかの最善の提案が必要でした。strutsとibatisを使用した汎用レポートフレームワーク

  1. (Apache POIまたはcsv writer)などのAPIを使用するか、結果セットを取得してストリングバッファに直接出力ストリームに追加する必要があります。
  2. 私はibatisを使用しているので、ibatis(任意のAPI)から500k行を取り出し、csvに書き込んだり、サーバ側でファイルを生成するかどうかを調べたりする優れた方法がありますか?
  3. その他の代替候補。

ありがとうございました。

+0

お気軽にお問い合わせください。 –

+0

大きなデータセットを扱うには、このディスカッションを参照してください。http://mybatis-user.963551.n3.nabble.com/How-to-Deal-with-large-Result-Set-and-制限付きヒープスペース-dd4025643.html#なし – Lucky

答えて

1

私たちのアプリケーションでも同じことをしています。 私たちはStrutsを使用しており、iBatisから取得したリストはレポート作成のために「Jasper Reports」に渡されます。 http://struts.apache.org/2.0.11.2/docs/jasperreports-tutorial.html

Jasper Reportsは、レポートを最小限のコーディングでレンダリングする柔軟性を提供します。

+0

:返信ありがとうございます。 ibatisで大規模なデータセットを扱う方法、ベストプラクティスとパフォーマンスの改善 –

+0

残念ながら、私はあまりにも多くのポインタを持っていませんが、それらのうちいくつか: 1)複数のファイルの中にsqlを分割してください 2)動的SQLを使用してください http://ibatis.apache.org/docs/dotnet/datamapper/ch03s09 .html 3)インクリメンタルにresultMapを増やす(他のresultMapsを拡張することができます) 4)一般的なSQLを個別に記述します。それらは他のSQLにも含まれています。 –