Reporte Java con JasperReport

  • View
    2.231

  • Download
    0

  • Category

    Software

Preview:

DESCRIPTION

Ejemplo de como crear una aplicación hecha en Java con JasperReports

Citation preview

1

Creación de reportes con NetBeans, JasperReport y MySql.

Presentado:Geovanny Mendoza Gonzalez

Blogs: http://geovanny0401.blogspot.com/

geovanny0401@gmail.com

Ingeniero de Sistemas

04 de Agosto de 2014

Geovanny Mendoza Gonzalez V 1.0

2

Este manual se basa en la integración del IDE Netbeans, el Motor de base de

datos MySql y la librería de creacion de informe JasperReports. Además se

incluye el plugin de IReport para Netbeans, se explicara a detalle cómo se

utilizara la biblioteca grafica para Java SWING para generar el reporte, en

este caso recibirá un Parámetro para generar dicho reporte y todo esto se

realizara en el IDE mencionado. Si llegan a tener alguna duda me pueden

escribir al correos electrónicos de la portada.

04 de Agosto de 2014

Geovanny Mendoza Gonzalez V 1.0

3

INTRODUCCIÓN: En este Manual se desarrollara una aplicación para Generar Reportes basado en el SWING de JAVA, utilizaremos como mencionamos anteriormente el motor de base datos MySQL. Este ejercicio también puede funcionar con otra base de datos que puede ser Oracle, SQL Server y PostgreSQL. Para comenzar vamos a establecer nuestro entorno de trabajo:

04 de Agosto de 2014

Geovanny Mendoza Gonzalez V 1.0

4

HERRAMIENTAS PARA EL DESARROLLO:

Netbeans 7.4(Puede utilizar esta versión e inclusive la versión mas

actual.

MySQL 5.1: Sera el encargado de alojar a nuestra base de Datos.

Ireport 5.1: El entorno grafico que nos ayudara a crear el Reporte.

Jasper Reports 5.1: Librerías que nos ayudaran a compilar y ejecutar el reporte que son las siguientes:

04 de Agosto de 2014

Geovanny Mendoza Gonzalez V 1.0

5

LIBRERÍAS• commons-javaflow• commons-logging-1.2• commons-beanutils-1.8• commons-digester-2.1• commons-collections-4-4.0• jasperreports-fonts-3.7.5• itextpdf-5.5.2.jar• itext 5.5.2

• MySQL Connector para JAVA(mysql-connector-java-5.1.6-bin):este es nuestro puente JDBC que nos permitirá la conexión entre el servidor de base de datos y el lenguaje de programacion Java.

04 de Agosto de 2014

Geovanny Mendoza Gonzalez V 1.0

6

LINK PARA DESCARGAR LOS INSTALADORES A USAR

• Todo el Software utilizado es Open Sourcey puede descargarlo desde:

• http://www.netbeans.org : Netbeans 7.4 o superior y en la sección de PLUGINS encontrara el de Ireport

• http://dev.mysql.com/downloads/ : MySQL 5.1, Conector para Java y Herramientas Graficas.

• http://community.jaspersoft.com/ : Ireport librería de creación de informes.

04 de Agosto de 2014

Geovanny Mendoza Gonzalez V 1.0

7

INSTALACIÓN DEL PLUGIN Para realizar este manual, por el momento se va a utilizar una tabla que

llamaremos afiliado. Digitaremos un registro que en este caso será el código de afiliación de un usuario y utilizaremos exclusivamente el Ireport que instalaremos dentro de Netbeans.

04 de Agosto de 2014

Geovanny Mendoza Gonzalez V 1.0

8

Paso 1: Seleccionamos en el menú a

tools(Herramientas) y en el submenú le damos

click a puglins

Paso 2: ahora buscamos en la pestaña con el nombre downloaded(Descarga) ,seleccionamos con click Add Plugins

04 de Agosto de 2014

Geovanny Mendoza Gonzalez V 1.0

9

Paso 3: Consultamos la ubicación en nuestro PC del archivo iReport-5.1.0.nbm y la

seleccionamos el botón abrir

04 de Agosto de 2014

Geovanny Mendoza Gonzalez V 1.0

10

Paso 4: A continuación ya aparece nuestro plugin para instalarse en la parte derecha

aparece una descripción, seleccionamos el botón install(instalación) y presionamos click.

04 de Agosto de 2014

Geovanny Mendoza Gonzalez V 1.0

11

Paso 5: A continuación seleccionamos el botón Next(Siguiente) y presionamos click para

continuar el proceso de instalación.

04 de Agosto de 2014

Geovanny Mendoza Gonzalez V 1.0

12

Paso 6: A continuación seleccionamos la opción para aceptar los términos de licencia y después

presionamos click en el botón Install.

04 de Agosto de 2014

Geovanny Mendoza Gonzalez V 1.0

13

Paso 7: En esta figura nos muestra El plugin ya está instalado y presionamos click en el botón

Finish.

04 de Agosto de 2014

Geovanny Mendoza Gonzalez V 1.0

14

Paso 8: Para comprobar en la siguiente figura que se encuentra instalado y configurado

iReport en NetBeans.

04 de Agosto de 2014

Geovanny Mendoza Gonzalez V 1.0

Geovanny Mendoza Gonzalez V 1.0

1504 de Agosto de 2014

CREAR BASE DE DATOS

16

CREACIÓN DE LA BASE DE DATOS: Como primer paso crearemos la base de datos junto con la instrucción

SQL de crear tabla e insertar registro, hay dos formas para INSERTAR

datos en una tabla: Una es insertar una fila vez, y la otra es

insertar filas múltiples por vez, en este caso utilizaremos la segunda

Opción también la pueden crear con algún asistente grafico o desde la

terminal de MySQL.

04 de Agosto de 2014

Geovanny Mendoza Gonzalez V 1.0

17

CREACIÓN DE LA BASE DE DATOS:

SQL:/*Software : Generacion ReportesDBMS : MysqlEsquema : AfiliadoScript : Crea el esquema con sus respectivas tablasResponsable : Geovanny Mendoza GonzalezEmail : geovanny0401@gmail.comBlog : http://geovanny0401.blogspot.com*/ 

-- =============================================-- CREACION DE LA BASE DE DATOS-- ============================================= CREATE DATABASE REPORTE; -- =============================================-- CONECTARSE EL USUARIO-- ============================================= USER REPORTE;

-- =============================================-- CREAR LA TABLA AFILIADO-- ============================================= CREATE TABLE AFILIADO(COD_AFILIACION INTEGER,TIPO_IDE CHAR(2),NUMERO_IDE VARCHAR(30),APEPATERNO VARCHAR(50),APEMATERNO VARCHAR(50),NOMBRE VARCHAR(60),FEC_NAC VARCHAR(15)); ALTER TABLE AFILIADO ADD PRIMARY KEY (COD_AFILIACION); INSERT INTO AFILIADO (COD_AFILIACION, TIPO_IDE,NUMERO_IDE, APEPATERNO, APEMATERNO, NOMBRE,FEC_NAC)VALUES (1,'CC','12345678','SANTOS','BULLOSO','MARIA','23/04/1987'); INSERT INTO AFILIADO (COD_AFILIACION, TIPO_IDE, NUMERO_IDE, APEPATERNO, APEMATERNO, NOMBRE, FEC_NAC)VALUES (2,'CC','36985214','CALLE','ALVAREZ','OVIDIO','06/10/1940');

04 de Agosto de 2014

Geovanny Mendoza Gonzalez V 1.0

Geovanny Mendoza Gonzalez V 1.0

1804 de Agosto de 2014

Crear Proyecto en Netbeans

19

PASO 1: Como ya creamos la base de datos en este caso es el motor de base de datos MYSQL.

por lo tanto procedemos a crear un proyecto en Netbeans.

04 de Agosto de 2014

Geovanny Mendoza Gonzalez V 1.0

1) En el menú principal del IDE nos dirigimos a File escogemos New Project2) En Categories escogemos la carpeta Java y en Projects Seleccionamos Java Application y presionamos el botón Next con un click.

20

PASO 2: En Project Name: colocamos el nombre del proyecto, en Project Location donde vamos

a guardar el Proyecto, deseleccionamos la opción de Create Main Class y oprimimos el botón

Finish.

04 de Agosto de 2014

Geovanny Mendoza Gonzalez V 1.0

2104 de Agosto de 2014

Geovanny Mendoza Gonzalez V 1.0

PASO 3: Por defecto ya tenemos el JFrame

En este caso vamos agregar los

Siguientes componentes

1) Dos JButton

2) Un Jpanel

3) Tres Jlabel

4) Un JTextField

Geovanny Mendoza Gonzalez V 1.0

2204 de Agosto de 2014

Crear Plantilla en Ireport

23

PASO 1 : Seleccionamos el proyecto le damos click derecho file->other: Escogemos en

categoría Report y en File Types: Empty Report y presionamos Next

04 de Agosto de 2014

Geovanny Mendoza Gonzalez V 1.0

24

PASO 2 : Colocamos el nombre del archivo y presionamos click en Finish

04 de Agosto de 2014

Geovanny Mendoza Gonzalez V 1.0

25

PASO 3 : Como podemos observar ya se puede visualizar la plantilla del reporte.

04 de Agosto de 2014

Geovanny Mendoza Gonzalez V 1.0

26

PASO 4: ahora vamos a crear el origen de datos para realizar nuestra conexión con la base de

datos.

04 de Agosto de 2014

Geovanny Mendoza Gonzalez V 1.0

27

PASO 5: Damos click en opcion default y seleccionamos la opcion New.

04 de Agosto de 2014

Geovanny Mendoza Gonzalez V 1.0

28

PASO 6: En este paso seleccionamos el tipo de datasource en este caso escogemos Database

JDBC connection y damos click en Next.

04 de Agosto de 2014

Geovanny Mendoza Gonzalez V 1.0

29

PASO 7:. Completamos los parámetros como se muestra en la figura en la parte de abajo.

04 de Agosto de 2014

Geovanny Mendoza Gonzalez V 1.0

Name: reportes

JDBC Driver: MySQL (com.mysql.jdbc.Driver)

JDBC URL: jdbc:mysql://localhost/reporte

UserName: root

Password: root

3004 de Agosto de 2014

Geovanny Mendoza Gonzalez V 1.0

PASO 8: En este paso vamos agregar un parámetro seleccionamos la pestaña Report Inspector y damos click derecho encima de Parameteres y escogemos Add Parameter.

PASO 9:Despues que agregamos el parámetro le colocamos el nombre, la clase de parámetro.

31

PASO 10: Seleccionamos la pestaña Report

Inspector y damos click derecho encima del

reporte1 y escogemos Edit Query.

04 de Agosto de 2014

Geovanny Mendoza Gonzalez V 1.0

32

PASO 11: Escribimos la siguiente consulta en sql: SELECT * FROM AFILIADO WHERE

ID=$P{id}.

04 de Agosto de 2014

Geovanny Mendoza Gonzalez V 1.0

33

PASO 12: Seleccionamos Fields para que nos muestre todo los campos de la tabla Afiliado,

agregamos al reporte en la parte Detail todos los campos que queremos visualizar.

04 de Agosto de 2014

Geovanny Mendoza Gonzalez V 1.0

34

PASO 14: Por ultimo ante de realizar la codificación agregamos las librerías necesaria para

ejecutar la aplicación, nos ubicaremos en el proyecto y seleccionamos la carpeta libraries, damos

clikc derecho y presionamos en Add JAR/Folder. Después ubicamos donde tenemos guardado los

Archivos *.JAR y los adicionamos al proyecto.

04 de Agosto de 2014

Geovanny Mendoza Gonzalez V 1.0

Geovanny Mendoza Gonzalez V 1.0

3504 de Agosto de 2014

Codificación

36

Creamos una clase EjecutarReporte

package Controlador;

import static Controlador.Reporte.CONEXION;

import static Controlador.Reporte.DRIVER;

import static Controlador.Reporte.PASSWORD;

import static Controlador.Reporte.RUTA;

import static Controlador.Reporte.USER;

import java.sql.Connection;

import java.sql.DriverManager;

import java.util.HashMap;

import java.util.Map;

import net.sf.jasperreports.engine.JasperFillManager;

import net.sf.jasperreports.engine.JasperPrint;

import net.sf.jasperreports.engine.JasperReport;

import net.sf.jasperreports.engine.util.JRLoader;

import net.sf.jasperreports.view.JasperViewer;

04 de Agosto de 2014

Geovanny Mendoza Gonzalez V 1.0

37

/**

*

* @author Geovanny

*/

public class Reporte {

public static final String DRIVER = "com.mysql.jdbc.Driver";

public static final String RUTA = "jdbc:mysql://localhost/reporte";

public static final String USER = "root";

public static final String PASSWORD = "root";

public static Connection CONEXION;

04 de Agosto de 2014

Geovanny Mendoza Gonzalez V 1.0

38

public void EjecutarReporte(int id) {

JasperReport reporte1;

JasperPrint jasperprint;

try {

Class.forName(DRIVER);

CONEXION = DriverManager.getConnection(RUTA, USER, PASSWORD);

javax.swing.JOptionPane.showMessageDialog(null, "Conexion establecida");

String template = "src/reporte1.jasper";

reporte1 = (JasperReport) JRLoader.loadObject(template);

Map param = new HashMap();

param.clear();

param.put("id", id);

jasperprint = JasperFillManager.fillReport(reporte1, param, CONEXION);

JasperViewer visor = new JasperViewer(jasperprint, false);

visor.setTitle("Reportes Afiliados");

visor.setVisible(true);

} catch (Exception e) {

javax.swing.JOptionPane.showMessageDialog(null, e);

}

}

}

04 de Agosto de 2014

Geovanny Mendoza Gonzalez V 1.0

39

Ahora nos dirigimos al formulario y seleccionamos con doble clik el boton Generar y agregamos el

siguiente codigo.

int id = Integer.parseInt(txtAfiliado.getText());

reporte.EjecutarReporte(id);

Despues Ejecutamos el proyecto y enviamos el parámetro en este caso es el numero 1 listo.

04 de Agosto de 2014

Geovanny Mendoza Gonzalez V 1.0

40

Finalizamos el proyecto espero que sea gran ayuda y lo puedan implementar en sus proyecto, para

la próxima publicaciones voy a realizar y explicar ejercicios con JFreeChart, Realizar un Login y un

Aplicativo aplicando el patrón MVC.

04 de Agosto de 2014

Geovanny Mendoza Gonzalez V 1.0

Geovanny Mendoza GonzalezBlogs:

http://geovanny0401.blogspot.com/

Recommended