JasperReport那些事儿(二)——从对象到XML数据源 - 编程入门网
tic final void main(String [] args) throws Exception {
Person person1=new Person();
person1.setName("张三");
person1.setGender("男");
person1.setAge(35);
Person person2=new Person();
person2.setName("李四");
person2.setGender("女");
person2.setAge(25);
ArrayList<Person> al=new ArrayList<Person>();
al.add(person1);
al.add(person2);
NameList nameList=new NameList();
nameList.setList(al);
try{
BeanToXMLConverter wea=new BeanToXMLConverter();
wea.writeToXMLFile(nameList);
}catch(Exception e){
e.printStackTrace();
}
}
private void writeToXMLFile(Object obj)throws Exception{
StringWriter outputWriter = new StringWriter();
outputWriter.write("<?xml version=''1.0'' ecoding=''UTF-8'' ?>\n");
BeanWriter beanWriter = new BeanWriter(outputWriter);
beanWriter.getXMLIntrospector().getConfiguration().setAttributesForPrimitives(false);
beanWriter.getBindingConfiguration().setMapIDs(false);
beanWriter.enablePrettyPrint();
beanWriter.write(obj);
String xmlFilePath=FILE_PATH;
File xmlFile=new File(FILE_PATH);
if(!xmlFile.exists()){
xmlFile.createNewFile();
}
FileWriter fw=new FileWriter(xmlFilePath);
fw.write(outputWriter.toString().toCharArray());
fw.flush();
System.out.println(outputWriter.toString());
outputWriter.close();
}
}
NameList类代码。
运行以上的代码需要四个包,commons-betwixt.jar,commons-logging.jar, commons-collections.jar, commons-beanutils-core.jar。这些都可以从http://commons.apache.org/下载。JDK需要1.5或以上。 看到这里你心里也许开始矛盾(或者不屑),对,同事Q也是这样想的。 Q:“这不是摆明更麻烦么?对象转换为XML,再从XML查数据,你这瞎折腾我,浪费资源在转换上!!” 俺:“也许是多了一些功夫,多占用了点资源。但是这可以让报表的数据可读性更强,更重要的是报表制作可以和SQL说拜拜,他和对象走得更密切了。” Q:“但是你的XML文件不是还是需要查询么?你能保证那些查询语句比SQL更简单么?” 俺:“我能给你肯定的回答。但是XML的查询就要留到下一章去介绍了。这星期OT比较多,先溜啦,88。” Q:“哎,你给我说清楚点再走……” |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |