JasperReport学习笔记8-JasperReport和Hibernate,Struts的整合
1.JasperReport与Hibernate的整合
更改JRXML文件
queryString标签里面加一个属性language="hql",然后里面就不用SQL语句了,写HQL
//输出流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里面放入SessionMap 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