DataSource是Jasperreport获取数据以生成报表的源,有两种DataSource:
- JDBC Connection用来从关系型数据库里取数据
- 扩展了JRDataSource接口的java object
在不使用JDBC直接访问数据库时,我们需要使用JRDataSource,它是一个接口,允许我们访问具有行列结构的数据,无论JDBC Connection还是JRDataSource,都不能通过JasperReport来创建
JRDataSource接口只有两个方法 public interface JRDataSource { /** * 用来移动一个虚拟的游标到下一条记录, * 根据返回值判断是否还有记录,如果没有记录则返回false */ public boolean next() throws JRException; /** * 在next方法后如果返回true,就会调用getFieldValue方法,事实上报表里的每一个field在屈指的时候 *都会调用getFieldValue方法,其返回数据类型必须与申明的字段类型相匹配,null 除外 * */ public Object getFieldValue(JRField jrField) throws JRException; }