Calling Jasper Report From Java Application Tutorial
-
Upload
rohan-bose -
Category
Documents
-
view
93 -
download
1
description
Transcript of Calling Jasper Report From Java Application Tutorial
o7planning
Calling Jasper Report from Java Application tutorial
1 Download JasperReport library for Java2 Download JDBC Drivers3 Prepare reports4 Create a Java project and declare library5 Generate PDF6 The utility classes to connect some kind of Database7 Pass Datasource and Parameters
1 Download JasperReport library for Java
http://community.jaspersoft.com/download
Related Document Categories
Report Programming
Java Basic
What is needed to get started with Java?
Guide to Installing and Configuring Java
Guide to Installing and Configuring Eclipse
Quick Learning Java for beginners
JDK Javadoc in CHM format
Inheritance and polymorphism in Java
Abstract class and Interface in Java
Access modifiers in Java
Java Enum Tutorial
Java Annotation Tutorial
Comparison and sorting in Java
Java String, StringBuffer and StringBuilderTutorial
All Tutorials Java Android C# C/C++ Database Report Client Others
Java Exception Handling Tutorial
Java Generics Tutorial
Java Collection Framework Tutorial
Java IO Tutorial Binary Streams
Java IO Tutorial Character Streams
Java Date Time Tutorial
Syntax and new features in Java 8
Java Regular expression Tutorial
Java Multithreading Programming Tutorial
JDBC Driver Libraries for different types ofdatabase in Java
Java JDBC tutorial
Java Compression Tutorial
Java reflection Tutorial
Java remote method invocation Java RMITutorial
Java Socket Programming Tutorial
Java Desktop Application Programmingusing SWT
Eclipse JFace Tutorial
Commons IO Tutorial
Commons Logging Tutorial
Advanced Java
Java Programming for team using Eclipseand SVN
Customize java compiler processing yourAnnotation (Annotation Processing Tool)
Java Aspect Oriented Programming Tutorialwith AspectJ (AOP)
Install Maven into Eclipse
Maven Tutorial for Beginners
Maven Manage Dependencies
Setup a Multiple Module Project usingMaven
Install JBoss Tools into Eclipse
Java Hibernate Tutorial for Beginners
Using Hibernate Tools generate entityclasses from Tables
Serverside Programming
Configuring Tomcat Server in Eclipse
Guide to installing and configuringGlassfish Web Server
Java Servlet Tutorial for Beginners
Java Servlet Filter Tutorial
Java JSP Tutorial for Beginners
Install Web Tools Platform into Eclipse
Create a Simple Web Application UsingServlet, JSP and JDBC
Using Google reCAPTCHA with Java WebApplication
Result:
Run Maven Web Application in TomcatMaven Plugin
Run Maven Web Application in Jetty MavenPlugin
Struts2 Tutorial for Beginners
Spring MVC Tutorial for Beginners HelloSpring 4 MVC
Simple Login Web Application using SpringMVC, Spring Security and Spring JDBC
Spring MVC and Hibernate TransactionTutorial
Struts2 Framework
Struts2 Tutorial for Beginners
Struts2 Tutorial for Beginners (AnnotationConfiguration)
Spring Framework
Spring Tutorial for Beginners
Spring MVC Tutorial for Beginners HelloSpring 4 MVC
Install Spring Tool Suite into Eclipse
Configuring Static Resource and ResourceBundle in Spring MVC Tutorial
Unzip the downloaded file:
Spring MVC File Upload Tutorial
Spring JDBC Tutorial
Simple Login Web Application using SpringMVC, Spring Security and Spring JDBC
Spring MVC and Velocity Tutorial
Using Template in Spring MVC with ApacheTiles
Spring MVC and Spring JDBC TransactionTutorial
Spring MVC and Hibernate TransactionTutorial
Eclipse Technology
Install AspectJ development tools intoEclipse
Java Aspect Oriented Programming Tutorialwith AspectJ (AOP)
How to get the open source Java librariesas OSGi(s)
Install Tycho into Eclipse
Java OSGi Tutorial for Beginners
OSGi and AspectJ integration
Building OSGi project with Maven andtycho
Install WindowBuilder into Eclipse
Java Desktop Application Programmingusing SWT
2 Download JDBC Drivers
If the report connected to a database, you need to have the JDBC drivers:
Eclipse JFace Tutorial
Install e4 Tools Developer Resources intoEclipse
Eclipse RCP 4 Tutorial for Beginners E4Workbench Application
Guide to Packing and Deploying DesktopApplication SWT/RCP
Install RAP tools into Eclipse
Install RAP e4 Tooling into Eclipse
Install Eclipse RAP Target Platform
Eclipse RAP Tutorial for Beginners BasicApplication
Eclipse RAP Tutorial for Beginners e4Workbench Application
Create Eclipse RAP Widget fromClientScriptingbased widget
Guide to packaging and deploying EclipseRAP application
Install GEF into Eclipse
Eclipse RAP Tutorial for Beginners Workbench Application (Earlier e4)
Eclipse RCP 3 Tutorial for Beginners Workbench Application
Simple Eclipse RCP 3 Application Viewand Editor integration
Java API for HTML & XML
You can see the guide to download JDBC Driver at:
http://o7planning.org/web/fe/default/en/document/21135/jdbcdriverlibrariesfordifferenttypesofdatabaseinjava
3 Prepare reports
You need a JasperReport file. We will run that report on Java. You can download an example of areport file at:
https://community.jaspersoft.com/sites/default/files/files/StyledTextReport.zip
Unzip the downloaded file, we will have jrxml file.
Parsing an XML File Using SAX
JDOM2 Tutorial
JAXB Tutorial
Java XStream Tutorial
Jsoup Java Html Parser Tutorial
Java Open source libraries
Skype Java API Tutorial
Using Scribe OAuth Java API with GoogleOAuth 2 Tutorial
JDOM2 Tutorial
Java XStream Tutorial
Jsoup Java Html Parser Tutorial
Retrieving Geographic information based onIP Address using GeoIP2 Java API
Newest Documents
XML Parser for Oracle PL/SQL
Creating and Managing Oracle Wallet
Android Fragments Tutorial
Guide to Installing Intel HardwareAccelerated Execution Manager (Intel®HAXM)
4 Create a Java project and declare library
Create Java Project:
JavaCallJasperReportTutorial
Create a libs folder and copy the most vital libraries into this folder, including:
Android GridView Tutorial
Install C/C++ Development Tooling intoEclipse
Guide to Installing C/C++ Compiler CygWin
Guide to Installing C/C++ Compiler MinGW
Guide to Installing and Configuring VisualStudio 2013
Java XStream Tutorial
Quick Link
1 Download JasperReport library for Java2 Download JDBC Drivers3 Prepare reports4 Create a Java project and declare library5 Generate PDF6 The utility classes to connect some kind ofDatabase7 Pass Datasource and Parameters
commonsbeanutils*.jarcommonscollections*.jarcommonsdigester*.jarcommonslogging*.jargroovyall*.jaritextpdf*.jaritextpdfa*.jarjasperreports*.jar
Next, copy Database Driver into libs folder. Here I copy all of three JDBC Driver into Database typesincluding Oracle, MySQL, SQLServer.
4 0 0 0
To declare the library, rightclick Project and select Properties
Select all the jar files in the libs folder:
5 Generate PDF
Here is a simple example, Java will call to report JasperReport and generate PDF file. This simpleexample does not have the participation of the Database.
PdfFromXmlFile.java
12
package org.o7planning.tutorial.javajasperreport;
?
23456789
101112131415161718192021222324252627282930313233343536373839404142434445
46
import java.io.File;import java.io.IOException;import java.util.HashMap;import java.util.Map; import net.sf.jasperreports.engine.JRDataSource;import net.sf.jasperreports.engine.JREmptyDataSource;import net.sf.jasperreports.engine.JRException;import net.sf.jasperreports.engine.JasperCompileManager;import net.sf.jasperreports.engine.JasperExportManager;import net.sf.jasperreports.engine.JasperFillManager;import net.sf.jasperreports.engine.JasperPrint;import net.sf.jasperreports.engine.JasperReport; public class PdfFromXmlFile { public static void main(String[] args) throws JRException, IOException { // Compile jrxml file. JasperReport jasperReport = JasperCompileManager .compileReport("C:/jasperreport/StyledTextReport/StyledTextReport.jrxml" // Parameters for report Map<String, Object> parameters = new HashMap<String, Object>(); // DataSource // This is simple example, no database. // then using empty datasource. JRDataSource dataSource = new JREmptyDataSource(); JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport, parameters, dataSource); // Make sure the output directory exists. File outDir = new File("C:/jasperoutput"); outDir.mkdirs(); // Export to PDF. JasperExportManager.exportReportToPdfFile(jasperPrint, "C:/jasperoutput/StyledTextReport.pdf"); System.out.println("Done!");
}
Results of running the example:
4647
}}
6 The utility classes to connect some kind of Database
OracleMySQLSQLServer
OracleConnUtils.java
123456789
101112131415161718192021
package org.o7planning.tutorial.javajasperreport.conn; import java.sql.Connection;import java.sql.DriverManager;import java.sql.SQLException; public class OracleConnUtils { public static Connection getOracleConnection() throws ClassNotFoundException, SQLException { String hostName = "localhost"; String sid = "db11g"; String userName = "learningsql"; String password = "12345"; return getOracleConnection(hostName, sid, userName, password); } public static Connection getOracleConnection(String hostName, String sid, String userName, String password) throws ClassNotFoundException, SQLException {
?
MySQLConnUtils.java
212223242526272829303132333435363738
SQLException { // Declare the class Driver for ORACLE DB // This is necessary with Java 5 (or older) // Java6 (or newer) automatically find the appropriate driver. // If you use Java> 5, then this line is not needed. Class.forName("oracle.jdbc.driver.OracleDriver"); // Example: jdbc:oracle:thin:@localhost:1521:db11g String connectionURL = "jdbc:oracle:thin:@" + hostName + ":1521:" + sid; Connection conn = DriverManager.getConnection(connectionURL, userName, password); return conn; }}
123456789
101112131415161718
19
package org.o7planning.tutorial.javajasperreport.conn; import java.sql.Connection;import java.sql.DriverManager;import java.sql.SQLException; public class MySQLConnUtils { public static Connection getMySQLConnection() throws ClassNotFoundException, SQLException { String hostName = "localhost"; String dbName = "learningsql"; String userName = "root"; String password = "12345"; return getMySQLConnection(hostName, dbName, userName, password); } public static Connection getMySQLConnection(String hostName, String dbName,
String userName, String password) throws SQLException,
?
SQLServerConnUtils.java
192021222324252627282930313233343536
String userName, String password) throws SQLException, ClassNotFoundException { // Declare the class Driver for MySQL DB // This is necessary with Java 5 (or older) // Java6 (or newer) automatically find the appropriate driver. // If you use Java> 5, then this line is not needed. Class.forName("com.mysql.jdbc.Driver"); // Cấu trúc URL Connection dành cho Oracle // Ví dụ: jdbc:mysql://localhost:3306/simplehr String connectionURL = "jdbc:mysql://" + hostName + ":3306/" + dbName; Connection conn = DriverManager.getConnection(connectionURL, userName, password); return conn; }}
123456789
101112131415161718
19
package org.o7planning.tutorial.javajasperreport.conn; import java.sql.Connection;import java.sql.DriverManager;import java.sql.SQLException; public class SQLServerConnUtils { // Connect to SQLServer // (Using JDBC Driver: SQLJDBC) public static Connection getSQLServerConnection_SQLJDBC() throws ClassNotFoundException, SQLException { String hostName = "localhost"; String sqlInstanceName = "SQLEXPRESS"; String database = "learningsql"; String userName = "sa"; String password = "12345";
return getSQLServerConnection_SQLJDBC(hostName, sqlInstanceName,
?
1920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
63
return getSQLServerConnection_SQLJDBC(hostName, sqlInstanceName, database, userName, password); } // Connect to SQLServer & using JTDS library public static Connection getSQLServerConnection_JTDS() throws SQLException, ClassNotFoundException { String hostName = "learningsql"; String sqlInstanceName = "SQLEXPRESS"; String database = "simplehr"; String userName = "sa"; String password = "12345"; return getSQLServerConnection_JTDS(hostName, sqlInstanceName, database, userName, password); } // Connect to SQLServer // (Using JDBC Driver: SQLJDBC) private static Connection getSQLServerConnection_SQLJDBC(String hostName, String sqlInstanceName, String database, String userName, String password) throws ClassNotFoundException, SQLException { // Declare the class Driver for SQLServer DB // This is necessary with Java 5 (or older) // Java6 (or newer) automatically find the appropriate driver. // If you use Java> 5, then this line is not needed. Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); // jdbc:sqlserver://ServerIp:1433/SQLEXPRESS;databaseName=simplehr String connectionURL = "jdbc:sqlserver://" + hostName + ":1433" + ";instance=" + sqlInstanceName + ";databaseName=" + database; Connection conn = DriverManager.getConnection(connectionURL, userName, password); return conn; } // Connect to SQLServer & using JTDS library private static Connection getSQLServerConnection_JTDS(String hostName, String sqlInstanceName, String database, String userName, String password) throws ClassNotFoundException, SQLException {
// Declare the class Driver for SQLServer DB
ConnectionUtils.java
63646566676869707172737475767778
// Declare the class Driver for SQLServer DB // This is necessary with Java 5 (or older) // Java6 (or newer) automatically find the appropriate driver. // If you use Java> 5, then this line is not needed. Class.forName("net.sourceforge.jtds.jdbc.Driver"); // jdbc:jtds:sqlserver://localhost:1433/simplehr;instance=SQLEXPRESS String connectionURL = "jdbc:jtds:sqlserver://" + hostName + ":1433/" + database + ";instance=" + sqlInstanceName; Connection conn = DriverManager.getConnection(connectionURL, userName, password); return conn; } }
123456789
1011121314151617181920
21
package org.o7planning.tutorial.javajasperreport.conn; import java.sql.Connection;import java.sql.SQLException; public class ConnectionUtils { public static Connection getConnection() throws SQLException, ClassNotFoundException { // Using Oracle // You may be replaced by other Database. return OracleConnUtils.getOracleConnection(); } // // Test Connection ... // public static void main(String[] args) throws SQLException, ClassNotFoundException {
?
7 Pass Datasource and Parameters
The following example will be more complex than the previous example. We will pass parameters anddatabase connection into report from Java.
JavaCallJasperReport.java
2122232425262728293031
System.out.println("Get connection ... "); // Get a Connection object Connection conn = ConnectionUtils.getConnection(); System.out.println("Get connection " + conn); System.out.println("Done!"); }}
123456789
1011121314151617181920
package org.o7planning.tutorial.javajasperreport; import java.io.File;import java.sql.Connection;import java.sql.SQLException;import java.util.HashMap;import java.util.Map; import net.sf.jasperreports.engine.JRException;import net.sf.jasperreports.engine.JasperCompileManager;import net.sf.jasperreports.engine.JasperFillManager;import net.sf.jasperreports.engine.JasperPrint;import net.sf.jasperreports.engine.JasperReport;import net.sf.jasperreports.engine.export.JRPdfExporter;import net.sf.jasperreports.export.ExporterInput;import net.sf.jasperreports.export.OutputStreamExporterOutput;import net.sf.jasperreports.export.SimpleExporterInput;import net.sf.jasperreports.export.SimpleOutputStreamExporterOutput;import net.sf.jasperreports.export.SimplePdfExporterConfiguration;
?
2021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
64
import org.o7planning.tutorial.javajasperreport.conn.ConnectionUtils; public class JavaCallJasperReport { public static void main(String[] args) throws JRException, ClassNotFoundException, SQLException { String reportSrcFile = "F:/ECLIPSE_TUTORIAL/JASPERREPORT/HelloJasperReport/FirstJasperReport.jrxml" // First, compile jrxml file. JasperReport jasperReport = JasperCompileManager.compileReport(reportSrcFile); Connection conn = ConnectionUtils.getConnection(); // Parameters for report Map<String, Object> parameters = new HashMap<String, Object>(); JasperPrint print = JasperFillManager.fillReport(jasperReport, parameters, conn); // Make sure the output directory exists. File outDir = new File("C:/jasperoutput"); outDir.mkdirs(); // PDF Exportor. JRPdfExporter exporter = new JRPdfExporter(); ExporterInput exporterInput = new SimpleExporterInput(print); // ExporterInput exporter.setExporterInput(exporterInput); // ExporterOutput OutputStreamExporterOutput exporterOutput = new SimpleOutputStreamExporterOutput( "C:/jasperoutput/FirstJasperReport.pdf"); // Output exporter.setExporterOutput(exporterOutput); // SimplePdfExporterConfiguration configuration = new SimplePdfExporterConfiguration(); exporter.setConfiguration(configuration); exporter.exportReport(); System.out.print("Done!");
}
o7planning.org
6465
}}