ireport4.5教程之数据源介绍
ireport数据源综述
一个DataSource是Jasperreport获取数据以生成报表的源。这里有两种类型的DataSource:一种是JDBC Connection,用来从关系型数据库里取数据;另外一种是扩展了JRDataSource接口的java object,这种类型的对象允许我们去管理数据的细节,比如一个xml文件或一个javabean的集合。
通过sql查询从关系型数据库里取数据来填充生成报表是很简单的,iReport可以通过各个数据库厂商提供的JDBC Driver来获取连接生成要检索的field。
如果我们不通过JDBC直接访问数据库来获得生成报表的字段与数据的时候,我们需要使用JRDataSource(全称JasperReport Data Source)。JRDataSource是一个接口,它允许我们访问具有行列结构的数据(在Datasource行我们叫records,列我们叫record fields)。
不管是JDBC Connection还是JRDataSource,他们都不能通过JasperReport来创建,但是当应用程序调用生成报表的时候,我们可以通过JasperReports的fillReport方法传递一个打开的数据库连接(一个
java.sql.Connection对象)或者是一个JRDataSource对象实例用于填充被调用的报表。对于传递一个java.sql.Connection对象的情形,JasperReports将在指定的报表里使用JDBC Connection来执行一个SQL查询,查询的结果将会被包含在一个JRResultSetDataSource对象里(JRResultSetDataSource也是