2011-08-09 15 views
1

我們正在開發一個新的內部項目來開發報告屏幕,使用此Web應用程序的用戶使用生成的csv或excel文件進​​行分析。此報告是可配置的,以便SQL查詢並且所有inPut參數都是通過web應用程序提供的。稍後,報告框架應該與提供的輸入參數一起執行此SQL。通常生成的報告最多包含500k行,需要導出爲csv或excel。我需要對以下問題提出一些最佳建議。使用struts和ibatis的通用報告框架

  1. 確實需要使用API​​(如Apache POI或csv writer)或者只是獲取結果集並追加到字符串緩衝區直接寫入輸出流。
  2. 由於我使用的是ibatis,有沒有更好或有效的方法來檢索500k行通過ibatis(任何API的),把它寫到csv或excel有/沒有生成文件在服務器端。
  3. 其他替代建議。

謝謝大家。

+0

任何建議請... –

+0

要處理大型數據集請參考此討論http://mybatis-user.963551.n3.nabble.com/How-to-Deal-with-large-Result-Set-and- Limited-Heap-Space-td4025643.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包含。 –