Jasperreports+jaspersoft studio学习教程(四)- JDBC向导作为数据源填充数据

 

4.1 在studio工具中可以直接连接数据库,利用sql语句检索。创建数据库,并建表

 

本教程使用mysql5.5+SQLyog工具,若没有安装,请百度自行安装,创建DemoReport数据库,并将user_tab表,注入数据如下:

 

 

4.2 在studio工具中新建JDBC数据源

 

 

 

 

然后Next ,选择 Database JDBC Connection.

 

 

点击Test 显示 Successful! ,然后Finish!

 

4.3 新建报表模板

4.3.1 新建报表模板DemoReport3.jrxml,只保留Title Band 和 Detail Band.

 

 

4.3.2 模板右键 -> Dataset and QueryDialog

 

 

点击OK 后,在outline中生成Field.

 

 

 

4.3.3 将id,user_name等拖入到 Detail 1 Band中设计模板如下:

 

 

 

点击preview ,显示如下:

 

 

 

4.4 在java程序中是用JDBC数据源

4.4.1 在JasperWeb项目中新建一个sevlet,加入mysql-connector-java-5.1.40-bin.jar依赖,并且将jrxml模板文件编译为jasper文件放入项目中。

 

 

 

4.4.2 JasperServlet2 的doGet内容:

 
  1. protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

  2.  
  3. Map<String,Object> parameters = new HashMap<String,Object>(16);

  4. String jasperPath = request.getServletContext().getRealPath("/")+"/jasper/DemoReport3.jasper";

  5. PrintWriter out = null;

  6. try {

  7. String url = "jdbc:mysql://localhost/demoreport";

  8. Class.forName("com.mysql.jdbc.Driver");

  9. Connection conn = DriverManager.getConnection(url, "root", "123456");

  10.  
  11. //通过JasperFillManager工具进行填充报表,生成JasperPring文件

  12. JasperPrint jasperPrint = JasperFillManager.fillReport(jasperPath, parameters, conn);

  13.  
  14. //将html输出到浏览器上

  15. JRHtmlExporter exporter = new JRHtmlExporter();

  16. response.setCharacterEncoding("UTF-8");

  17. out = response.getWriter();

  18. exporter.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint);

  19. exporter.setParameter(JRExporterParameter.OUTPUT_WRITER, out);

  20. exporter.setParameter(JRHtmlExporterParameter.IS_USING_IMAGES_TO_ALIGN, Boolean.FALSE);

  21. exporter.exportReport();

  22.  
  23. } catch (Exception e) {

  24. e.printStackTrace();

  25. }finally {

  26. out.flush();

  27. out.close();

  28. }

  29.  
  30. }

 

 

4.4.3 启动tomcat,并访问:

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值