JasperReports的方法

时间:2012-03-17 16:15:27

标签: jasper-reports

我是JasperReports的新手,在开展我的开发之前我需要几个小组。我的同事告诉我他们能够生成一份基本报告,但他们仍然坚持应该采用什么方法。

我被告知我们可以:

  1. 在每个报告中编写查询
  2. 在报告外运行查询,并将其作为a传递给报告 数据源
  3. 哪种方法更可取?与传递bean相比,传递数据源是否有任何性能命中?还想知道第一种方法是在不同的jvm中运行吗?

    当前的项目架构 Struts 2 - Spring 2.5 - Spring JDBC

1 个答案:

答案 0 :(得分:2)

如果您和您的团队刚刚开始使用JasperReports,我建议您将SQL查询嵌入到每个报告中。它使得在iReport中生成报告变得更加容易,因为您可以在处理实时数据时不断预览报告。

就性能而言,我认为在最基本的例子中它并不重要。如果它只是一个SQL查询,那么无论您使用什么场景,它都将使用JDBC与您提供的连接。所以我暂时忽略了性能。

话虽如此,如果您已经拥有数据(即您已经在屏幕上显示并希望允许用户将其导出为PDF或其他),您可以简单地将其作为数据源传递而不是再次运行查询的性能损失。

您可能希望使用自己的数据源的另一种情况是,您希望在数据导出到报表之前对其进行操作。也许是一些疯狂的排序,你无法在SQL或其他东西中完成。

就你的上一个问题而言,它应该都在同一个JVM中运行(至少根据我的理解)。