JasperReport是一种采用纯Java实现的快速且非常流行的生成报表的类库。而对于任何的报表方案,取得数据并传递给报表引擎是其中最重要且最值得关心的方面。但遗憾的是,在这方面JasperReport本身似乎有一定的不足。而如今的很多Java应用程序,采用数据获取框架来进行数据的匹配与动态生成SQL。例如iBATIS数据映射框架。当然,如果只是使用JasperReport获取数据及管理数据的默认机制的话,不足以与现成的数据框架进行很好的平衡。但可喜的是,可以通过使用传递给JasperReport一个数据库的连接进行代替,当然这种连接可以通过使用XML进行非常方便的管理与配置。
一、 准备工作
与Hibernate类似,iBATIS也是一个ORM解决方案,不同的是两者各有侧重。Hibernate提供了Java对象到数据库表之间的直接映射,开发者无需直接涉及数据库操作的实现细节,实现了一站式的ORM解决方案。而iBATIS则采取了另一种方式,即提供Java对象到SQL(面向参数和结果集)的映射实现,实际的数据库操作需要通过手动编写SQL实现。
iBATIS是又一个O/R Mapping解决方案,j2ee的O/R方案真是多,和Hibernate相比,iBATIS最大的特点就是小巧,上手很快。如果你不需要太多复杂的功能,iBATIS是能满足你的要求又足够灵活的最简单的解决方案。在本文的示例中,采用Spring+JSF+iBATIS的模式进行示例的开发。所使用的lib如下图所示:
二、 在iReport中可视化定制模板
定制报表格式有二种方式,一种就是写jrxml文件,其实就是xml文件,只不过是后缀名不一样罢了。另一种方式更直接,就是生成一个JasperDesign类的实例,在japsperDesign中自己定义模板。jrxml文件也是通过一个JRXmlLoad加载过来,转成JasperDesign类的实例。也就是说写jrxml文件还需要进行解析,加载。现实中我们使用的报表一般格式比较固定,因而可以通过先使用iReport工具生成模板,再加载解析的方式。这种方式简单,而且可见性强。
iReport做为一个优秀的报表设计器,有着功能非常强大的特性。作为开源的Java程序,不但有适合于Windows安装的应用程序,同时,还提供完全开放的源代码,可供参考及原理分析。在本文中,主要通过图形界面中的模板设计,以及与数据库的连接等一系列的操作,来介绍如何定制一定要求的报表模板。
通过iReport可初见化的图形界面,可以设计出各种各样的简单或复杂的报表。通过iReport的这种可视化界面设计,可以为JasperReport提供优秀的报表模板,而无须去理解或是掌握那些复杂的XML语法。如此则可以Web报表开发节省大量的开发时间。
在进行iReport模板设计之前,需要编写JavaBean类:MonthlySalesBean.java,代码如下:
<!--
Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/
-->import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;
public class MonthlySalesBean {
private int employeeID;;
private String last = null;
private String first = null;
private BigDecimal total = null;
private List sales = null;
private LatestSale latestSale = null;
public static List createBeanCollection () {
List list = new ArrayList ();
MonthlySalesBean msb = new MonthlySalesBean ();
msb.setEmployeeID(1);
msb.setFirst("John");
msb.setLast("Doe");
msb.setTotal(new BigDecimal ("1600.50"));
LatestSale ls = new LatestSale ();
ls.setAmount(new BigDecimal ("32.21"));
msb.setLatestSale(ls);
list.add(msb);
return list;
}
public int getEmployeeID() {
return employeeID;
}
public void setEmployeeID(int employeeID) {
this.employeeID = employeeID;
}
public String getFirst() {
return first;
}
public void setFirst(String first) {
this.first = first;
}
public String getLast() {
return last;
}
public void setLast(String last) {
this.last = last;
}
public BigDecimal getTotal() {
return total;
}
public void setTotal(BigDecimal total) {
this.total = total;
}
public List getSales() {
return sales;
}
public void setSales(List sales) {
this.sales = sales;
}
public LatestSale getLatestSale() {
return latestSale;
}
public void setLatestSale(LatestSale latestSale) {
this.latestSale = latestSale;
}
}
将上面的类打成一个jar包,并置于classpath目录下,则iReport可以进行访问。使用JavaBean做为数据源,为了在设计报表时能够看到数据,在程序中要为iReport提供一个静态方法,该方法返回上面定义JavaBean的一个结果集,这个静态方法可能在程序运行中并不是必须的,但是在iReport中它确实必须的,换句话说,这个静态方法是专门为iReport量身定做的,为了iReport在设计报表时能够调用这个静态方法返回相应的JavaBean结果集,以便设计的报表放在Java项目中之前就能像使用SQL数据库数据源一样可以浏览。在iReport中先进行数据源的连接配置,此处采用是JavaBeans set data source连接方式:
图2.在iReport进行数据源的连接
分享到:
相关推荐
iReport 是 JasperReport 的一个可视化设计工具,用于创建 JasperReport 报表模板。它提供了直观的图形用户界面,帮助用户设计复杂的报表布局,包括静态文本、图表、图像、表格等元素。 2. **iReport 主界面及操作...
结合提供的文档资源"iReport 和 Jasperreport整合开发web报表向导1.doc"、"iReport 和 Jasperreport整合开发web报表向导2.doc"以及"iReport 和 Jasperreport整合开发web报表向导3.doc",你将能更深入地了解这一过程...
接下来,我们将探讨如何使用JasperReport和iReport进行报表开发。 #### 报表开发步骤 1. **安装iReport设计工具**:下载并安装iReport设计工具。这是用于创建报表模板的基础。 2. **创建报表模板**:使用iReport...
本资料包"iReport 和 Jasperreport整合开发web报表.rar"提供了一个关于如何将两者整合到Web项目中的教程或示例。 `iReport`是一款强大的报告设计工具,它基于`JasperReport`,允许开发者通过图形化界面来创建复杂的...
在"使用JasperReport+iReport进行WEB开发"的实践中,首先需要安装并配置iReport,下载并解压后,可以通过它来设计报表模板。模板设计完成后,将其保存为.jrxml文件,这是JasperReport的XML格式,包含了报表的所有...
为了支持Web报表开发,需要配置一个支持JasperReport的Web服务器环境。这通常包括以下步骤: - **服务器安装**:选择合适的Web服务器(如Tomcat、Jetty等)并安装。 - **JasperReport配置**:将JasperReport的相关库...
在没有iReport的情况下,直接使用Jasperreport进行报表开发会涉及到大量XML的编写,这是一项繁琐且容易出错的工作。而有了iReport,开发者可以通过图形化界面快速设计报表,大大提高了开发效率。 总的来说,iReport...
随着技术的发展,各种报表生成工具应运而生,其中iReport与JasperReport因其功能强大、易于集成的特点,在Java Web开发领域占据了重要位置。本文将详细介绍如何利用iReport和JasperReport进行Web报表的开发,并分享...
iReport是一款功能强大且灵活的报表设计工具,能够与Jasperreport集成,生成精美的web报表。本文档将对iReport进行深入介绍,展示如何使用iReport设计报表、连接数据库、定义变量和参数、设置字体等。 一、iReport...
JasperReport是一个强大的Java报告库,它允许开发者创建复杂、美观的报表,广泛应用于企业级应用中。在JasperReport中,子报表是用于在主报表内部嵌套其他报表的一个功能,可以用来组织和展示更复杂的结构化数据。...
接下来,我们将讨论如何使用JasperReport作为报表控件来开发Web报表应用程序。Web报表应用程序允许用户通过浏览器查看报表。 1. **搭建开发环境**: - **Web框架**: 使用Spring Boot等流行的Web框架。 - **依赖...
#### 第三部分:使用 JasperReport 作为报表控件开发 Web 报表应用 在 Web 应用程序中集成 JasperReport,主要涉及以下几个步骤: 1. **部署**: 将 JasperReport 的 JAR 文件添加到 Web 应用程序的类路径中。 2. *...
"使用JasperReport与iBATIS开发Web报表.doc"则可能涉及到了iBATIS,一个SQL映射框架,用于简化数据库操作。在JasperReport中使用iBATIS,可以方便地从数据库获取数据并填充到报表中。这份文档应该会介绍如何配置...
本教程“jasperreport ireport开发java报表入门级教程(完整版)”将引导初学者逐步掌握这些概念和操作,通过实际项目练习,加深理解,提升报表开发能力。教程内容可能涵盖报表设计基础、数据绑定、报表生成、Java应用...
在本项目中,“jasperReport测试项目(含报表设计文件).rar”是一个压缩包,包含了一系列用于JasperReport报表设计的文件,帮助我们理解和实践报表开发。 报表设计是JasperReport的核心功能,通过使用JRXML文件,...
例如,在Java Web应用中,可以使用JasperReports API来动态生成报表。一个简单的例子是在JSP页面中调用JasperEngine生成报表,如`pdf.jsp`中的代码所示,这通常涉及导入必要的库,设置参数,加载报表模板,执行报表...
Struts2和JasperReport是两个在Java Web开发中广泛使用的框架。Struts2作为MVC(模型-视图-控制器)架构的一部分,主要用于处理HTTP请求并管理应用程序流程,而JasperReport则是一个强大的报告生成工具,能够创建...
### iReport & JasperReport 开发手记:List报表开发与发布 #### 1. 概述 在B/S架构的应用程序开发中,报表处理一直是重要的组成部分。传统的处理方式包括生成CSV文件供用户下载后再行编辑,这种方式不仅效率低下...
它基于Java,可以很好地与Java应用程序、Web应用和企业级应用集成,提供丰富的报表设计和灵活的数据呈现方式。JasperReport的核心功能包括报表设计、数据处理、样式定制以及报表导出等。 **1. 报表设计** 报表设计...