2012-03-17 45 views
2

我是JasperReports的新手,在繼續開發之前,我需要一些人頭。我的同事告訴我他們能夠生成一份基本報告,但他們堅持使用什麼方法。JasperReports的審批

有人告訴我,我們可以:

  1. 編寫查詢每個報告
  2. 運行報告以外的查詢,並把它傳遞給報表作爲 數據源

哪種方法是最好的?與傳遞bean相比,傳遞數據源是否有任何性能命中?也想知道第一種方法在不同的jvm中運行嗎?

當前項目建築 的Struts 2 - Spring 2.5的 - 春天JDBC

回答

2

如果你和你的團隊是剛剛開始接觸JasperReports的,我會建議嵌入SQL查詢到每個報告。它使得在iReport中構建報表變得更加容易,因爲您可以在處理時使用實時數據不斷預覽報表。

至於性能,我不認爲這真的是不會在最基本的例子沒關係。如果它只是一個SQL查詢,那麼無論你使用什麼樣的場景,它都會使用JDBC和你提供的連接。所以我現在會忽略表現。這就是說,如果你已經有了數據(例如,你已經顯示在屏幕上,並且你想允許用戶將其導出爲PDF或其他),那麼你可以簡單地將它作爲數據源傳遞,而不是再次運行查詢的性能命中。

你可能想使用自己的數據源的另一種情況是,如果你想操作的數據它在報告中出口前。也許有些瘋狂的說,你不能在SQL或其他東西中使用。

至於你的最後一個問題,它應該所有(從我的理解,至少)運行在同一個JVM。

+0

感謝mdahlman和jschoen,我們採取了嵌入式sql方法。是的,只是盯着報道。 – 2012-03-23 12:17:49