发布一篇JasperReport那些事儿(二)――从对象到XML数据源
还得说上一点,就java本质而言,是面相对象的,但是你有没有发现,java也不全是,比如说基本类型,int,那他就是整型而不是对象,转换类型是还得借助包装类。记得刚学Jasperreport的时分,在谷歌和百度上搜到的年夜多半进门文章都是传授怎样利用数据库来做报表的。关于只接纳复杂数据集和那些间接面向数据的报表,利用数据库作为数据源是符合的;可是也有良多的报表不是间接面向原始数据的,比方财政报表,都是必要盘算和做后续处置;也有一些报表援用的数据粒度小,可是数目多,利用数据库做数据源是分歧适的。
XML一向被以为是一种很好的形貌布局化数据的言语。
起首XML文件的数据布局十分明晰。能够把报表所必要的数据集成到一个XML文件上,然后再经由过程在文件外调询,这比每必要一条数据就利用SQL来查询要显得更高效和复杂。试想一下,你的同事A告知你,“报表的数据都在这份XML文件里哦”。而同事B则对你说:”那些数据在某个数据库里,你本人往查吧。“,你更喜好听到哪一句呢?(固然我的语气上的不同就申明了我的喜欢,我老嫌疑后者在背向我的那一刻有在狞笑。)
其次,如今对象映照到XML的工具良多。哦?你晓得我在表示甚么吗?没错,你能够面向对象,而不必面向丑恶的表格。在上一篇文章中,我给出如许一个数据源。
1<?xmlversion="1.0"encoding="utf-8"?>
2<NameList>
3<Person>
4<Name>强尼</Name>
5<Gender>男</Gender>
6<Age>56</Age>
7</Person>
8<Person>
9<Name>阿美</Name>
10<Gender>女</Gender>
11<Age>23</Age>
12</Person>
13<Person>
14<Name>李丽</Name>
15<Gender>女</Gender>
16<Age>58</Age>
17</Person>
18<Person>
19<Name>杰森</Name>
20<Gender>男</Gender>
21<Age>32</Age>
22</Person>
23<Person>
24<Name>刘三</Name>
25<Gender>男</Gender>
26<Age>21</Age>
27</Person>
28</NameList>
假如你是个典范的面向对象的思索者,应当即刻想到一个叫Person的Java类。也许像上面如许。
1packagecom.blogjava.heis.jasper.chapter2;
2
3publicclassPerson{
4
5privateStringname;
6privateStringgender;
7privateintage;
8
9privateStringgetName(){
10returnname;
11}
12privatevoidsetName(Stringname){
13this.name=name;
14}
15privateStringgetGender(){
16returngender;
17}
18privatevoidsetGender(Stringgender){
19this.gender=gender;
20}
21privateintgetAge(){
22returnage;
23}
24privatevoidsetAge(intage){
25this.age=age;
26}
27}
<p>
没有那个大公司会傻了吧唧用.net网页编程开发大型项目,开发了,那等于自己一半的生命线被微软握着呢。而.net网页编程不行,限制在window系统,又是捆绑,鄙视微软之! 接着就是EJB了,EJB就是Enterprise JavaBean, 看名字好象它是Javabean,可是它和Javabean还是有区别的。它是一个体系结构,你可以搭建更安全、更稳定的企业应用。它的大量代码已由中间件(也就是我们常听到的 Weblogic,Websphere这些J2EE服务器)完成了,所以我们要做的程序代码量很少,大部分工作都在设计和配置中间件上。 是一种将安全性(Security)列为第一优先考虑的语言 如果要向java web方向发展也要吧看看《Java web从入门到精通》学完再到《Struts2.0入门到精通》这样你差不多就把代码给学完了。有兴趣可以看一些设计模块和框架的包等等。 不过,每次的执行编译后的字节码需要消耗一定的时间,这同时也在一定程度上降低了 Java 程序的运行效率。 其实说这种话的人就如当年小日本号称“三个月拿下中国”一样大言不惭。不是Tomjava泼你冷水,你现在只是学到了Java的骨架,却还没有学到Java的精髓。接下来你得研究设计模式了。 Java自面世后就非常流行,发展迅速,对C++语言形成了有力冲击。Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于个人PC、数据中心、游戏控制台 设计模式是高级程序员真正掌握面向对象核心思想的必修课。设计模式并不是一种具体"技术",它讲述的是思想,它不仅仅展示了接口或抽象类在实际案例中的灵活应用和智慧 还好,SUN提供了Javabean可以把你的JSP中的 Java代码封装起来,便于调用也便于重用。 关于设计模式的资料,还是向大家推荐banq的网站 http://www.jdon.com/,他把GOF的23种模式以通俗易懂的方式诠释出来,纯Java描述,真是经典中的经典。 http://www.jdon.com/去下载,或到同济技术论坛的服务器ftp://nro.shtdu.edu.cn去下,安装上有什么问题,可以到论坛上去提问。 接着就是EJB了,EJB就是Enterprise JavaBean, 看名字好象它是Javabean,可是它和Javabean还是有区别的。它是一个体系结构,你可以搭建更安全、更稳定的企业应用。它的大量代码已由中间件(也就是我们常听到的 Weblogic,Websphere这些J2EE服务器)完成了,所以我们要做的程序代码量很少,大部分工作都在设计和配置中间件上。 设计模式是高级程序员真正掌握面向对象核心思想的必修课。设计模式并不是一种具体"技术",它讲述的是思想,它不仅仅展示了接口或抽象类在实际案例中的灵活应用和智慧 象、泛型编程的特性,广泛应用于企业级Web应用开发和移动应用开发。 你就该学一学Servlet了。Servlet就是服务器端小程序,他负责生成发送给客户端的HTML文件。JSP在执行时,也是先转换成Servlet再运行的。虽说JSP理论上可以完全取代Servlet,这也是SUN推出JSP的本意,可是Servlet用来控制流程跳转还是挺方便的,也令程序更清晰。接下来你应该学习一下Javabean了,可能你早就看不管JSP在HTML中嵌Java代码的混乱方式了,这种方式跟ASP又有什么区别呢? Java是一个纯的面向对象的程序设计语言,它继承了 C++语言面向对象技术的核心。Java舍弃了C ++语言中容易引起错误的指针(以引用取代)、运算符重载(operator overloading) 科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。 一般学编程语言都是从C语开始学的,我也不例外,但还是可能不学过程语言而直接学面向对象语言的,你是刚接触语言,还是从C开始学比较好,基础会很深点,如果你直接学习JAVA也能上手,一般大家在学语言的时候都记一些语言的关键词,常有的包和接口等。再去做逻辑代码的编写,以后的学习过程都是从逻辑代码编写中提升的,所以这方面都是经验积累的。你要开始学习就从 当然你也可以参加一些开源项目,一方面可以提高自己,另一方面也是为中国软件事业做贡献嘛!开发者在互联网上用CVS合作开发,用QQ,MSN,E-mail讨论联系,天南海北的程序员分散在各地却同时开发同一个软件,是不是很有意思呢? 一般学编程语言都是从C语开始学的,我也不例外,但还是可能不学过程语言而直接学面向对象语言的,你是刚接触语言,还是从C开始学比较好,基础会很深点,如果你直接学习JAVA也能上手,一般大家在学语言的时候都记一些语言的关键词,常有的包和接口等。再去做逻辑代码的编写,以后的学习过程都是从逻辑代码编写中提升的,所以这方面都是经验积累的。你要开始学习就从
页:
[1]