Jasperreports+jaspersoft studio學習教程(四)- JDBC嚮導作為資料來源填充資料
阿新 • • 發佈:2019-02-05
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內容:
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { Map<String,Object> parameters = new HashMap<String,Object>(16); String jasperPath = request.getServletContext().getRealPath("/")+"/jasper/DemoReport3.jasper"; PrintWriter out = null; try { String url = "jdbc:mysql://localhost/demoreport"; Class.forName("com.mysql.jdbc.Driver"); Connection conn = DriverManager.getConnection(url, "root", "123456"); //通過JasperFillManager工具進行填充報表,生成JasperPring檔案 JasperPrint jasperPrint = JasperFillManager.fillReport(jasperPath, parameters, conn); //將html輸出到瀏覽器上 JRHtmlExporter exporter = new JRHtmlExporter(); response.setCharacterEncoding("UTF-8"); out = response.getWriter(); exporter.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint); exporter.setParameter(JRExporterParameter.OUTPUT_WRITER, out); exporter.setParameter(JRHtmlExporterParameter.IS_USING_IMAGES_TO_ALIGN, Boolean.FALSE); exporter.exportReport(); } catch (Exception e) { e.printStackTrace(); }finally { out.flush(); out.close(); } }
4.4.3 啟動tomcat,並訪問: