使用java对象作数据源

一般java报表工具,允许用户使用java类来作动态数据来源,但这个类必须符合工具要求的接口,如JasperReport的JRDataSource接口,杰表的BeanDataset接口。这种方式确实为用户提供了一种在报表工具中使用java对象的途径,但同时,因为需要实现特定接口,额外地增加了编码工作。

有没有一种不需要实现接口直接使用java对象的办法呢?杰表.2008提供了这样的方法。

在杰表中,你可以将一个含有若干java对象的数组,List或Iterator做成一个表格,每行分别显示对象的属性。你也可以利用java对象本身具备的层次关系,做成嵌套报表,比如应聘者对象,可能有工作经历,学历情况等。你可以从杰表的上游环境中,如jsp,servlet,swing,传入一个ResultSet或TableModel这样特殊的java对象作数据源,

相比有接口的java数据源,无接口java对象数据源优势在于:

  1. 低成本。程序员不必为使用报表工具额外编码;不必跟踪报表工具的接口变化,更少的维护工作量;
  2. 灵活。随心所欲地将任何java类作数据源;
  3. 高扩展。为无编码使用流行的java框架,如Hibernate提供基础。
  4. 代码重用。