jueves, 14 de noviembre de 2013

Reportes con plugin de iReport para NetBeans y MySQL

Hola Amigos, les doy la bienvenida a mi Blog JAVA y en esta oportunidad mostraré como generar reportes para una aplicación basada en el SWING de JAVA, utilizaremos MySQL como nuestro motor de base de datos predeterminado aunque también funcionaría con una base de datos de PostgreSQL ya que lo conectaremos mediante JDBC(JavaDataBaseConnectivity) y por supuesto funcionaría bien con SQLServer, Oracle u otro a través de una conexión ODBC. para empezar estableceremos nuestro entorno de trabajo.

Herramientas para el desarrollo (las que he utilizado para este Blog)
NetBeans IDE 7.4
Adobe Reader: Este será utilizado para ver nuestros reportes que estarán en formato PDF. Aunque en esta ocasión no es indispensable ya que lo visualizaremos a través del JasperViewer.

MySQL 6.0: Será el encargado de alojar a nuestra base de datos.

iReport 5.5.0 y JasperReport 5.5.0: El primero será el entorno gráfico que nos ayudará a crear el Reporte, mientras que de el segundo utilizaremos las librerías que nos ayudaran a compilar y ejecutar el reporte que son las siguientes:

commons-beanutils-1.8.0
commons-collections-2.1.1
commons-digester-2.1
commons-javaflow-20060411
commons-logging-1.1.1
jasperreports-5.5.0
iText-2.1.7(Importante tener esta librería ya que es la encargada de generar nuestro reporte en PDF y otros formatos)
mysql-connector-java-5.0.8-bin (MySQL connector para JAVA, este es nuestro puente JDBC que nos permitirá la conexión entre el servidor de base de datos y JAVA)
iReport-nb-5.5.0-plugin (Plugin para NetBeans, esto sólo funciona para versiones superiores a 6.0)

CASO DE ESTUDIO
A modo de demostración utilizaremos una tabla y nuestro reporte se generará a partir de recibir un parámetro, para este sencillo caso recibirá como parámetro el id de un estudiante y utilizaremos única y exculisivamente el iReport que instalaremos dentro de NetBeans.

Paso 1:
Abrir NetBeans IDE (recuerde que este plugin sólo se instala en versiones superiores a la 6.0) haga clic en el menú Tools y seleccione Plugins:

Paso 2:
Hacemos clic en la pestaña Downloaded y seguidamente en el botón Add Plugins

Paso 3:
Localizamos la ubicación de los archivos con extensión .nbm, seleccionamos y después hacemos clic en el botón Abrir.

Paso 4*:
Vemos los plugins listos para instalar, notará que aparece la descripción en la parte derecha, Ahora clic en el botón Instalar y esperemos a que carguen.
Aceptamos los términos y luego clic en instalar.

Nos saldrá una advertencia pero nosotros le damos clic en Continuar:
*En mi caso ya tenía instalado estos plugins así que utilicé otras imágenes para mostrar este paso 4. 

Paso 5.
Nuestro iReport se encuentra instalado, para confirmar hacemos clic en la pestaña Installed y busque el nuevo complemento en categoría Tools.

Como podrá darse cuenta nuestro NetBeans a cambiado un poco de apariencia como por ejemplo los orígenes de datos (Report datasources) de iReport.

CREANDO LA BASE DE DATOS
Como primer paso crearemos la base de datos, podemos crearlo con algún asistente gráfico o desde la terminal de MySQL, utilizaremos sólo una tabla o puede seguir usando vistas si es que lo desea, a manera de ejemplo utilaremos la siguiente tabla copie o escriba el siguiente código SQL:
******************************************************************************
create schema reporte;
use reporte;

create table datos( 
 id char(11) primary key,
 nombres varchar(25), 
 apellidos varchar(50), 
 domicilio varchar(30)
);

insert into datos values('12345678901','Alex Mijael', 'Alcántara Quispe', 'Cercado de Lima');
insert into datos values('12345678902','Magaly', 'Yucra Puma', 'San Isidro');
******************************************************************************


CREANDO UN NUEVO PROYECTO EN NetBeans:
Una vez creada la base de datos, abrimos NetBeans y creamos un nuevo proyecto como a continuación se indica:
Menú Archivo -> New Project
JAVA -> Java Application




Conexión con MySQL
Hacemos clic en Report Datasources, como vemos en la imagen.

luego clic en el botón New

Seleccionamos Database JDBC connection y luego le damos NEXT. Aquí es donde vamos a conectar la base de datos de MySQL que habíamos creado.

Elegimos el JDBC Driver para la conexión a MySQL.

Ingresamos los datos de nuestra BD, como ejemplo la base de datos se llama reporte, lo cual a la hora de comprobar si la conexión es correcta, hacemos clic en Test, lo cual debería salir como mensaje 'Connection test successfull'


Nuestra conexión es correcta, por tanto hacemos clic en Save y ya estamos casi listos para realizar nuestro reporte.

CREANDO NUESTRO REPORTE
Clic derecho en nuestro paquete, seleccionamos New luego clic en Other.

seleccionamos la categoría Report, luego clic en ReportWizard y le damos Next. 


El sistema nos mostrará una serie de diseños que debemos elegir para visualizar nuestro reporte y luego le damos clic en Next.


Ahora seleccionamos los datos que vamos a mostrar en nuestro reporte:


Seleccionamos la tabla o las tablas a mostrar haciendo doble clic y luego le damos OK

luego clic en Next, y pasamos los datos a la columna derecha para que puedan ser mostrados en nuestro diseño y le damos Next.

Nos muestra el mensaje de Congratulations! y le damos clic en Finish.



Le damos clic en el botón Preview.

Vemos el resultado y observamos que automáticamente se ha creado el archivo report1.jasper



Exportando nuestro reporte a formato PDF
clic en el icono SAVE, luego se nos abrirá una ventana para elegir donde vamos a guardar o exportar nuestro reporte, ubicamos la unidad donde deseamos que se guarde, seleccionamos el tipo de formato PDF y le damos Guardar.


Listo! Ya tenemos nuestro reporte en formato PDF.


Gracias por tu amable atención, Nos vemos en el siguient Blog ;)
MAGALEX