JasperReport学习笔记8-JasperReport和Hibernate,Struts的整合
2012-07-17 17:05
267 查看
1.JasperReport与Hibernate的整合
更改JRXML文件
queryString标签里面加一个属性language="hql",然后里面就不用SQL语句了,写HQL
Xml代码
<queryString language="hql">
<![CDATA[from Aircraft aircraft where country = $P{countryCode}
order by aircraft.id]]>
</queryString>
JRXML文件里面的field是HQL语言查出来的字段
Hibernate配置文件和DOJO类配置文件都一样,不做更改,而在业务LOGIC上有小的改动
Java代码
//输出流
ServletOutputStream servletOutputStream =
response.getOutputStream();
//输入流
InputStream reportStream = getServlet().getServletConfig()
.getServletContext().getResourceAsStream("xxxx/xxxx.jasper");
//设格式为PDF文件
response.setContentType("application/pdf");
//Session的创建不变
SessionFactory sessionFactory = new Configuration().configure().
buildSessionFactory();
Session session = sessionFactory.openSession();
//要在Map里面放入Session
Map parameterMap = new HashMap();
parameterMap.put(JRHibernateQueryExecuterFactory.PARAMETER_
HIBERNATE_SESSION, session);
//使用JasperFileManager的这个方法,生成jprint文件,如果在WEB里面,可以不生成
//JasperFillManager.fillReportToFile("/xxx/xxxx.jasper","/xxx/xxx.jprint",session);
//输出PDF流到WEB页
JasperRunManager.runReportToPdfStream(reportStream,
servletOutputStream, parameterMap);
session.close();
servletOutputStream.flush();
servletOutputStream.close();
return mapping.getInputForward();
就是在生成jprint文件或JasperPrint对象的时候,把JRHibernateQueryExecuterFactory.PARAMETER_
HIBERNATE_SESSION里面的值设为session
转载自:/article/4401816.html
更改JRXML文件
queryString标签里面加一个属性language="hql",然后里面就不用SQL语句了,写HQL
Xml代码
<queryString language="hql">
<![CDATA[from Aircraft aircraft where country = $P{countryCode}
order by aircraft.id]]>
</queryString>
JRXML文件里面的field是HQL语言查出来的字段
Hibernate配置文件和DOJO类配置文件都一样,不做更改,而在业务LOGIC上有小的改动
Java代码
//输出流
ServletOutputStream servletOutputStream =
response.getOutputStream();
//输入流
InputStream reportStream = getServlet().getServletConfig()
.getServletContext().getResourceAsStream("xxxx/xxxx.jasper");
//设格式为PDF文件
response.setContentType("application/pdf");
//Session的创建不变
SessionFactory sessionFactory = new Configuration().configure().
buildSessionFactory();
Session session = sessionFactory.openSession();
//要在Map里面放入Session
Map parameterMap = new HashMap();
parameterMap.put(JRHibernateQueryExecuterFactory.PARAMETER_
HIBERNATE_SESSION, session);
//使用JasperFileManager的这个方法,生成jprint文件,如果在WEB里面,可以不生成
//JasperFillManager.fillReportToFile("/xxx/xxxx.jasper","/xxx/xxx.jprint",session);
//输出PDF流到WEB页
JasperRunManager.runReportToPdfStream(reportStream,
servletOutputStream, parameterMap);
session.close();
servletOutputStream.flush();
servletOutputStream.close();
return mapping.getInputForward();
就是在生成jprint文件或JasperPrint对象的时候,把JRHibernateQueryExecuterFactory.PARAMETER_
HIBERNATE_SESSION里面的值设为session
转载自:/article/4401816.html
相关文章推荐
- JasperReport学习笔记8-JasperReport和Hibernate,Struts的整合
- JasperReport学习笔记8-JasperReport和Hibernate,Struts的整合
- JasperReport学习笔记8-JasperReport和Hibernate,Struts的整合
- MyEclipse — Maven+Spring+Struts+Hibernate 整合 [学习笔记-5]
- JasperReport学习笔记1-了解JasperReport
- SSH学习笔记之关于struts-spring-hibernate整合配置问
- struts2学习笔记 -- day03 struts2整合hibernate环境搭建
- Spring注解整合(hibernate+mybatis) 学习笔记
- JasperReport学习笔记2-创建简单的报表例子
- SSH学习之——Spring、Struts和Hibernate整合开发
- Struts 2 + Spring 2.0 + Hibernate 3.0整合笔记
- Activiti5工作流框架学习之Struts2+Hibernate+Spring整合配置
- OA学习笔记-005-Spring2.5与struts2.1整合
- SSH(Spring+Struts+Hibernate)学习笔记(一)概览
- SSH整合学习笔记之spring与hibernate简单整合.doc
- Struts+Spring+Hibernate整合笔记