2012-03-17 47 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