Pages

Friday, May 29, 2020

Dev Tips#43 Connect MYSQL to a Jasper report in Java and JDBC

In this tutorial, I show you how to retrieve data from MySQL to a Jasper Report in Java. JDBC is used to get an instance of the connection and passed to the jasper report engine...
Settings.xml:
   
    <mirrors>
        <mirror>
      <id>mirror1</id>
      <mirrorOf>central</mirrorOf>
      <name>mirror1</name>
      <url>https://repo.maven.apache.org/maven2/</url>
        </mirror>
    </mirrors>
   
  
POM.xml:
   
<dependencies>
        <dependency>
    <groupId>net.sf.jasperreports</groupId>
    <artifactId>jasperreports</artifactId>
    <version>6.8.0</version>
    <type>jar</type>
    <scope>compile</scope>
    <exclusions>
        <exclusion>
            <artifactId>commons-collections</artifactId>
            <groupId>commons-collections</groupId>
        </exclusion>
        <exclusion>
            <artifactId>commons-beanutils</artifactId>
            <groupId>commons-beanutils</groupId>
        </exclusion>
        <exclusion>
            <artifactId>commons-digester</artifactId>
            <groupId>commons-digester</groupId>
        </exclusion>
        <exclusion>
            <artifactId>commons-logging</artifactId>
            <groupId>commons-logging</groupId>
        </exclusion>
    </exclusions>
</dependency>
<dependency>
<groupId>commons-digester</groupId>
<artifactId>commons-digester</artifactId>
<version>2.1</version>
<scope>compile</scope>
<optional>false</optional>
</dependency>
<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>5.1.6</version>
</dependency>
    </dependencies>
   
  
Main Java Class:
  package com.mycompany.mavenprojectdemov1;

import net.sf.jasperreports.engine.*;
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.design.JasperDesign;
import net.sf.jasperreports.engine.xml.JRXmlLoader; 
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
 
/**
 * Hello world!
 *
 */
public class App 
{
        
    public static Connection getDbaseConnection(String HOST_NAME, String DBASE_NAME,
        String USER_NAME, String USR_PASS) throws SQLException,
        ClassNotFoundException {
        Class.forName("com.mysql.jdbc.Driver");
        //String connectionURL = "jdbc:mysql://" + hostName + ":3306/" + dbName;
        String CNTION_URL = "jdbc:mysql://" + HOST_NAME + "/" + DBASE_NAME;
        Connection conn = DriverManager.getConnection(CNTION_URL, USER_NAME,USR_PASS);
        return conn;
    }
    
    public static void main( String[] args )
    {
        //Database credential
        String hostName = "localhost";
        String dbName = "springboot";
        String userName = "springboot";
        String password = "springboot";
        
        //Jasper file location
        String fileNameJrxml = "E:/Jasper/jasperv1.jrxml";
        String fileNamePdf = "E:/Jasper/jasperv1.pdf";
 
        try {
            //Getting a connection instance
            Connection connInstance = getDbaseConnection(hostName,dbName,userName,password);                   
            System.out.println("Loading the .JRMXML file ....");
            JasperDesign jasperDesign = JRXmlLoader.load(fileNameJrxml);
            System.out.println("Compiling the .JRMXML file to .JASPER file....");
            JasperReport jasperReport = JasperCompileManager.compileReport(jasperDesign);
            System.out.println("filling parameters to .JASPER file....");
            JasperPrint jprint = (JasperPrint) JasperFillManager.fillReport(jasperReport, null,connInstance);
            System.out.println("exporting the JASPER file to PDF file....");
            JasperExportManager.exportReportToPdfFile(jprint, fileNamePdf);
            System.out.println("Successfully completed the export");

        } catch (Exception e) {
            System.out.print("Exception:" + e);
        }

    }
}


  

Wednesday, May 27, 2020

Dev Tips#42 Passing parameters to a Jasper Report in Java

In this tutorial, I show you how to pass parameteres to a Jasper report in JAVA running in Netbeans IDE 8.
Settings.xml:
   
    <mirrors>
        <mirror>
      <id>mirror1</id>
      <mirrorOf>central</mirrorOf>
      <name>mirror1</name>
      <url>https://repo.maven.apache.org/maven2/</url>
        </mirror>
    </mirrors>
   
  
POM.xml:
   
<dependencies>
        <dependency>
    <groupId>net.sf.jasperreports</groupId>
    <artifactId>jasperreports</artifactId>
    <version>6.8.0</version>
    <type>jar</type>
    <scope>compile</scope>
    <exclusions>
        <exclusion>
            <artifactId>commons-collections</artifactId>
            <groupId>commons-collections</groupId>
        </exclusion>
        <exclusion>
            <artifactId>commons-beanutils</artifactId>
            <groupId>commons-beanutils</groupId>
        </exclusion>
        <exclusion>
            <artifactId>commons-digester</artifactId>
            <groupId>commons-digester</groupId>
        </exclusion>
        <exclusion>
            <artifactId>commons-logging</artifactId>
            <groupId>commons-logging</groupId>
        </exclusion>
    </exclusions>
</dependency>
<dependency>
<groupId>commons-digester</groupId>
<artifactId>commons-digester</artifactId>
<version>2.1</version>
<scope>compile</scope>
<optional>false</optional>
</dependency>
    </dependencies>
   
  
Main Java Class:
 package com.mycompany.mavenprojectdemov1;

import java.util.HashMap;
import net.sf.jasperreports.engine.*;
import net.sf.jasperreports.engine.JREmptyDataSource;
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.design.JasperDesign;
import net.sf.jasperreports.engine.xml.JRXmlLoader; 
/**
 * Hello world!
 *
 */
public class App 
{
    public static void main( String[] args )
    {
      

        String fileNameJrxml = "E:/Jasper/Blank_A4_Paramv2.jrxml";
        String fileNamePdf = "E:/Jasper/Blank_A4_Paramv2.pdf";
 
        try {
            System.out.println("Loading the .JRMXML file ....");
            JasperDesign jasperDesign = JRXmlLoader.load(fileNameJrxml);
            System.out.println("Compiling the .JRMXML file to .JASPER file....");
            JasperReport jasperReport = JasperCompileManager.compileReport(jasperDesign);
            String first_language = "Java";
            String second_language = "Structured text";
            HashMap hm = new HashMap();
            hm.put("Param_First_Language", first_language);
            hm.put("Param_Second_Language", second_language);
            System.out.println("filling parameters to .JASPER file....");
            JasperPrint jprint = (JasperPrint) JasperFillManager.fillReport(jasperReport, hm, new JREmptyDataSource());
            System.out.println("exporting the JASPER file to PDF file....");
            JasperExportManager.exportReportToPdfFile(jprint, fileNamePdf);
            System.out.println("Successfully completed the export");

        } catch (Exception e) {
            System.out.print("Exception:" + e);
        }

    }
}

  

Dev Tips#39 Jasper report in Java 8 and Netbeans 8

In this video I show you how to create a jasper report in Java 8 and Netbeans 8 with dependencies handled by maven to export a PDF. How to export a PDF in java.




Settings.xml:




  

    <mirrors>
        <mirror>
            <id>mirror1</id>
            <mirrorOf>central</mirrorOf>
            <name>mirror1</name>
            <url>https://repo.maven.apache.org/maven2</url>   
        </mirror>
    </mirrors>

  
  


Dependencies:




  

    <dependencies>
        <dependency>
    <groupId>net.sf.jasperreports</groupId>
    <artifactId>jasperreports</artifactId>
    <version>6.8.0</version>
    <type>jar</type>
    <scope>compile</scope>
    <exclusions>
        <exclusion>
            <artifactId>commons-collections</artifactId>
            <groupId>commons-collections</groupId>
        </exclusion>
        <exclusion>
            <artifactId>commons-beanutils</artifactId>
            <groupId>commons-beanutils</groupId>
        </exclusion>
        <exclusion>
            <artifactId>commons-digester</artifactId>
            <groupId>commons-digester</groupId>
        </exclusion>
        <exclusion>
            <artifactId>commons-logging</artifactId>
            <groupId>commons-logging</groupId>
        </exclusion>
    </exclusions>
</dependency>
<dependency>
<groupId>commons-digester</groupId>
<artifactId>commons-digester</artifactId>
<version>2.1</version>
<scope>compile</scope>
<optional>false</optional>
</dependency>

<dependency>
    <groupId>net.sf.jasperreports</groupId>
    <artifactId>jasperreports-fonts</artifactId>
    <version>6.8.0</version>
</dependency>
    </dependencies>

  
  


Java code:




  
package com.mycompany.mavenprojectdemov1;

import java.util.HashMap;
import net.sf.jasperreports.engine.*;
import net.sf.jasperreports.engine.JREmptyDataSource;
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.design.JasperDesign;
import net.sf.jasperreports.engine.xml.JRXmlLoader; 
/**
 * Hello world!
 *
 */
public class App 
{
    public static void main( String[] args )
    {
      

        String fileNameJrxml = "E:/Jasper/HelloPDF.jrxml"; 
        String fileNamePdf = "E:/Jasper/HelloPDFv2.pdf";
 
        try {
            System.out.println("Loading the .JRMXML file ....");
            JasperDesign jasperDesign = JRXmlLoader.load(fileNameJrxml);
            System.out.println("Compiling the .JRMXML file to .JASPER file....");
            JasperReport jasperReport = JasperCompileManager.compileReport(jasperDesign);
            HashMap hm = new HashMap();
            System.out.println("filling parameters to .JASPER file....");
            JasperPrint jprint = (JasperPrint) JasperFillManager.fillReport(jasperReport, hm, new JREmptyDataSource());
            System.out.println("exporting the JASPER file to PDF file....");
            JasperExportManager.exportReportToPdfFile(jprint, fileNamePdf);
            System.out.println("Successfully completed the export");

        } catch (Exception e) {
            System.out.print("Exception:" + e);
        }

    }
}

  




Thursday, May 21, 2020

Dev Tips#38 Java Maven project in Netbeans : or one of its dependencies ...

If you are getting this type of error message while creating a maven project in Netbeans follow my video tutorial and add the mirror show below in your netbeans settings.xml.


Error message: Plugin org.apache.maven.plugins:maven-clean-plugin:2.4.1 or one of its dependencies could not be resolved: Failed to read artifact descriptor for org.apache.maven.plugins:maven-clean-plugin:jar:2.4.1: Could not transfer artifact org.apache.maven.plugins:maven-clean-plugin:pom:2.4.1 from/to central (http://repo.maven.apache.org/maven2): Failed to transfer file: http://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-clean-plugin/2.4.1/maven-clean-plugin-2.4.1.pom. Return code is: 501, ReasonPhrase: HTTPS Required. -> [Help 1]


Solution:


Here are the dependencies to be added in the settings.xml



   
<mirror>
      <id>mirror1</id>
      <mirrorOf>central</mirrorOf>
      <name>mirror1</name>
      <url>https://repo.maven.apache.org/maven2/</url>
</mirror>

 OR

<mirror>
   <id>google-maven-central</id>
   <name>Google Maven Central</name>
   <url>https://maven-central.storage.googleapis.com/maven2/</url>
   <mirrorOf>central</mirrorOf>
</mirror> 
   
  




Sunday, May 17, 2020

Dev Tips#37 Create your first Jasper report in Java and VS code maven


In this tutorial, I show you how to create a simple jasper report with a static text in TIBCO Jasper Report Studio. Then run the jrmxl file in a Maven Java Project in visual studio code to get a pdf.

Main Class


   

package com.abc;
import java.util.HashMap;
import net.sf.jasperreports.engine.*;
import net.sf.jasperreports.engine.JREmptyDataSource;
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.design.JasperDesign;
import net.sf.jasperreports.engine.xml.JRXmlLoader; 
/**
 * Hello world!
 *
 */
public class App 
{
    public static void main( String[] args )
    {
      

        String fileNameJrxml = "E:/Jasper/HelloPDF.jrxml";
        String fileNamePdf = "E:/Jasper/HelloPDF.pdf";
 
        try {
            System.out.println("Loading the .JRMXML file ....");
            JasperDesign jasperDesign = JRXmlLoader.load(fileNameJrxml);
            System.out.println("Compiling the .JRMXML file to .JASPER file....");
            JasperReport jasperReport = JasperCompileManager.compileReport(jasperDesign);
            HashMap hm = new HashMap();
            System.out.println("filling parameters to .JASPER file....");
            JasperPrint jprint = (JasperPrint) JasperFillManager.fillReport(jasperReport, hm, new JREmptyDataSource());
            System.out.println("exporting the JASPER file to PDF file....");
            JasperExportManager.exportReportToPdfFile(jprint, fileNamePdf);
            System.out.println("Successfully completed the export");

        } catch (Exception e) {
            System.out.print("Exception:" + e);
        }

    }
}


  
  


List of dependencies for the pom.xml
    

<dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.11</version>
      <scope>test</scope>
    </dependency>
<dependency>
    <groupId>net.sf.jasperreports</groupId>
    <artifactId>jasperreports</artifactId>
    <version>6.8.0</version>
</dependency>
  <dependency>
   <groupId>commons-beanutils</groupId>
   <artifactId>commons-beanutils</artifactId>
   <version>1.9.3</version>
   <scope>compile</scope>
   <optional>false</optional>
  </dependency>
  <dependency>
   <groupId>commons-digester</groupId>
   <artifactId>commons-digester</artifactId>
   <version>2.1</version>
   <scope>compile</scope>
   <optional>false</optional>
  </dependency>
  <dependency>
   <groupId>commons-logging</groupId>
   <artifactId>commons-logging</artifactId>
   <version>1.1.1</version>
   <scope>compile</scope>
   <optional>false</optional>
  </dependency>
  <dependency>
   <groupId>org.apache.commons</groupId>
   <artifactId>commons-collections4</artifactId>
   <version>4.2</version>
   <scope>compile</scope>
   <optional>false</optional>
  </dependency>
    <dependency>
   <groupId>com.lowagie</groupId>
   <artifactId>itext</artifactId>
   <version>2.1.7.js6</version>
    <scope>compile</scope>
   <optional>false</optional>
   <exclusions>
    <exclusion>
     <groupId>org.bouncycastle</groupId>
     <artifactId>bcmail-jdk15on</artifactId>
    </exclusion>
    <exclusion>
     <groupId>org.bouncycastle</groupId>
     <artifactId>bcpkix-jdk15on</artifactId>
    </exclusion>
   </exclusions>
  </dependency>
 <dependency>
   <groupId>org.apache.poi</groupId>
   <artifactId>poi</artifactId>
   <version>4.0.1</version>
   <scope>compile</scope>
   <optional>true</optional>
  </dependency>
  <dependency>
   <groupId>org.apache.poi</groupId>
   <artifactId>poi-ooxml</artifactId>
   <version>4.0.1</version>
   <scope>compile</scope>
   <optional>true</optional>
  </dependency>
<dependency>
   <groupId>org.eclipse.jdt.core.compiler</groupId>
   <artifactId>ecj</artifactId>
   <version>4.4.2</version>
   <scope>compile</scope>
   <optional>false</optional>
  </dependency>
  <dependency>
   <groupId>org.codehaus.groovy</groupId>
   <artifactId>groovy-all</artifactId>
   <version>2.4.5</version>
   <scope>compile</scope>
   <optional>true</optional>
  </dependency>
    <dependency>
   <groupId>org.apache.logging.log4j</groupId>
   <artifactId>log4j-core</artifactId>
   <version>2.8.2</version>
   <scope>test</scope>
  </dependency>
  <dependency>
   <groupId>org.apache.logging.log4j</groupId>
   <artifactId>log4j-jcl</artifactId>
   <version>2.8.2</version>
   <scope>test</scope>
  </dependency>
  <dependency>
   <groupId>net.sf.jasperreports</groupId>
   <artifactId>jasperreports-fonts</artifactId>
   <version>6.8.0</version>
   <scope>test</scope>
  </dependency>
  <dependency>
   <groupId>org.apache.lucene</groupId>
   <artifactId>lucene-core</artifactId>
   <version>7.3.0</version>
   <scope>compile</scope>
   <optional>true</optional>
  </dependency>
  <dependency>
   <groupId>org.apache.lucene</groupId>
   <artifactId>lucene-analyzers-common</artifactId>
   <version>7.3.0</version>
   <scope>compile</scope>
   <optional>true</optional>
  </dependency>
  <dependency>
   <groupId>org.apache.lucene</groupId>
   <artifactId>lucene-queryparser</artifactId>
   <version>7.3.0</version>
   <scope>compile</scope>
   <optional>true</optional>
  </dependency>
  <dependency>
   <groupId>org.olap4j</groupId>
   <artifactId>olap4j</artifactId>
   <version>0.9.7.309-JS-3</version>
   <scope>compile</scope>
   <optional>true</optional>
  </dependency>
    <dependency>
   <groupId>org.apache.commons</groupId>
   <artifactId>commons-pool2</artifactId>
   <version>2.4.2</version>
   <scope>compile</scope>
   <optional>true</optional>
  </dependency>
  <dependency>
   <groupId>commons-codec</groupId>
   <artifactId>commons-codec</artifactId>
   <version>1.5</version>
   <scope>compile</scope>
   <optional>true</optional>
  </dependency>
  <dependency>
   <groupId>net.sf.jasperreports</groupId>
   <artifactId>jasperreports-metadata</artifactId>
   <version>6.8.0</version>
   <scope>compile</scope>
   <optional>true</optional>
  </dependency>

  </dependencies> 

  
  


Saturday, May 9, 2020

Blender 2.8.0 and other versions crashes on startup in windows 32bit or ...

Version 280 sub 39 date unknown hash unknown AL lib: (EE) UpdateDeviceParams: Failed to set 48000hz, got 44100hz instead

Error : EXCEPTION_ACCESS_VIOLATION Address : 0x0B8F4376 Module : C:\Windows\system32\ig7icd32.dll

0. Check the desired release here:

https://download.blender.org/release/

1. update intel graphic driver:

https://downloadcenter.intel.com/product/80939/Graphics-Drivers

2. Download the dll:

https://download.blender.org/opengl/software-emulation/windows32/opengl32.dll

https://download.blender.org/opengl/software-emulation/windows64/opengl32.dll

3. put in:

G:\Blender Foundation\Blender

4. open cmd and go to :

G:\Blender Foundation\Blender

run > blender.exe --debug

Follows all these steps in my video below: