2024年6月15日发(作者:)

ireport4.5

入门教程之数据源介绍

ireport数据源综述

一个DataSource是Jasperreport获取数据以生成报表的源。这里有两种

类型的DataSource:一种是JDBCConnection,用来从关系型数据库里取数

据;另外一种是扩展了JRDataSource接口的javaobject,这种类型的对象允

许我们去管理数据的细节,比如一个xml文件或一个javabean的集合。

通过sql查询从关系型数据库里取数据来填充生成报表是很简单的,

iReport可以通过各个数据库厂商提供的JDBCDriver来获取连接生成要检索的

field。

如果我们不通过JDBC直接访问数据库来获得生成报表的字段与数据的时

候,我们需要使用JRDataSource(全称JasperReportDataSource)。

JRDataSource是一个接口,它允许我们访问具有行列结构的数据(在

Datasource行我们叫records,列我们叫recordfields)。

不管是JDBCConnection还是JRDataSource,他们都不能通过

JasperReport来创建,但是当应用程序调用生成报表的时候,我们可以通过

JasperReports的fillReport方法传递一个打开的数据库连接(一个

tion对象)或者是一个JRDataSource对象实例用于填充被调用

的报表。对于传递一个tion对象的情形,JasperReports将在

指定的报表里使用JDBCConnection来执行一个SQL查询,查询的结果将会

被包含在一个JRResultSetDataSource对象里(JRResultSetDataSource也是

一个JRDataSource对象的实例),这样JasperReports将使用一个

JRDataSource对象来关联打印数据。

iReport中的数据源

iReport允许我们管理和配置不同类型的DataSources用来填充报表。这

些DataSources被储存在iReport配置文件中当我们需要的时候即可以使用。

我们可以使用的DataSources类型如下:

-

-

-

-

-

-

-

JDBCConnection

XMLDataSource

JavaBeanCollectionDataSource

CSVDataSource

CustomDataSource

JRDataSourceProvider

HibernateDataSource

打开状态的JDBCConnection在报表生成的时候会被直接传递到

JasperReport中。XMLDataSource允许我们从XML文档里获取数据用来填

充报表。一个CSVDataSource允许我们打开一个CSV文件来填充报表。

JavaBeanCollectionDataSource,CustomDataSource和

JRDataSourceProvider他们允许我们一个写好的java类来获取数据。

HibernateDataSource定义了一个执行HQL语言的方法。DataSource的管