Bases de Datos, Java, MySQL, Programación

Creación de Reportes en Java – Parte I

En este post hablaba sobre la incorporación de iReport a NetBeans 6.0 con el plugin que sacaron los mismos desarrolladores de iReport (veáse para conocer el link de descarga y la instalación en NetBeans 6.5)

Ahora que ya tenemos incorporado iReport en NetBeans, vamos a ver como generar un sencillo reporte. (Nota: El plugin solo funciona con la versión final 6.0 de NetBeans)

HERRAMIENTAS UTILIZADAS

  • NetBeans 6.5
  • Plugin iReport para NetBeans 3.1.2
  • MySQL 5
  • El proyecto completo se puede descargar de aqui:

http://www.mediafire.com/?dz9cxgtigzt

http://www.mundobyte.net/archivos/Java_2007/Ejemplo_Reportes.zip

el archivo se llama Ejemplo_Reportes.zip

CREACIÓN DE LA BASE DE DATOS

Aunque si es cierto que adjunto tambien la carpeta del proyecto de NetBeans, obviamente que es recomendable realicen este ejercicio por cuenta propia pues les servira como práctica.

El script sql esta adjunto en la carpeta bajo el nombre de addressbook.sql, y contiene una simple y sencilla tabla a modo de ejemplo para este ejercicio.

Para ejecutar dicho script y crear la base de datos, basta con entrar a la línea de comandos de MySQL y escribir:

source C:\addressbook.sql

donde obviamente deben sustituir la ruta por donde se encuentra tal fichero. Si se tiene la herramienta MySQL Administrator, se puede restaurar el backup de este script sql. Con esto ya tendremos la BD creada.

Connections/DataSources

Una vez instalado el plugin y creada la BD, vamos a establecer la conexión a la Base de Datos por medio de JDBC pero antes de eso, debemos establecer el classpath donde se encuentra el driver JDBC para nuestro DBMS, en este caso el driver Connector/J. Dicho conector viene por defecto con NetBeans, se puede encontrar en la ruta /usr/local/netbeans-6.5/ide10/modules/ext

En el menú Herramientas–Opciones buscamos en la parte superior un botón con el logo de iReport y le damos clic para posteriormente ir a la pestaña de CLASSPATH. Agregamos el fichero jar del driver y con esto ya podemos pasar a establecer la Conexión a la BD.

Vamos al menú Herramientas – Report DataSources y pulsamos sobre el botón New para agregar una nueva conexión. Aparecera una ventana como la mostrada en la imagen.

DataSource_Ireport

Tenemos varias opciones las cuales no explicaré (además que no he usado todas). Usaremos una conección JDBC que es la que debemos usar para conectarnos a DBMS como MySQL, PosgreSQL, Oracle, entre otros más, por lo cuál seleccionaremos la segunda opción «NetBeans DataBase JDBC Connection».

Posteriormente pasaremos a otra ventana en donde debemos seleccionar la conexión que previamente establecimos en NetBeans

datasource2_ireport.png

Una ves guardados los cambios deberemos agregar un archivo visual para diseñar nuestro reporte, para ello vamos al «source package» (Paquete de fuentes) y agregamos un «Empty Report» (si no aparece en la lista, lo buscamos en otros). Al hacer esto, aparecera en NetBeans el diseñador visual de iReport. Tendremos un área dividida varias regiones, PageFooter, columnFooter, columnHeader, etc. Para más información referente a cada una de ellas puede visitar el siguiente tutorial, aunque maneja una versión algo vieja de iReport sirve como referencia o bien, se puede buscar más información en internet.

Para este ejemplo, solo vamos a utilizar las regiones de title, pageHeader, columnHeader, detail y pageFooter, por lo cuál deberemos ocultar las demás estableciendo un valor de 0. En uno de los paneles izquierdos que hay en NetBeans encontraremos algo como lo que muestra la siguiente imágen.

parametros_ireport.png

Por lo tanto, deberemos seleccionar las regiones sobrantes y en el panel de propiedades que esta en el lado derecho, debemos establecer el valor de Band height a 0 y con esto notaremos que desaparecerá dicha región en el área de diseño.

Una vez hecho lo anterior, solo deberemos tener en el área de diseño las 5 regiones mencionadas con anterioridad.

Podemos observar que en el panel derecho tenemos una pequeña paleta de componentes. Entre ellos el Static Text y Text Field.

La diferencia entre ámbos es que el Static Text es en si como su nombre lo dice, «Texto Estático», es decir, nos va servir para poner los rotulos y titulos de nuestros reportes. En cambio, el Text Field sirve para mostrar los resultados de la consulta a la Base de Datos para generar nuestro reporte.

Antes de hacer el diseño, primero vamos a establecer la consulta y a definir las variables necesarias. En el menú File–Report query deberemos escribir la consulta SQL. Haga click en la figura de abajo para ver su tamaño original y observe la sencilla consulta SQL y el resultado que nos genera en la parte de abajo. Realice esto mismo y al término presione el boton de OK.

query_ireport.png

En el panel de la izquierda de iReport, veremos que al desplegar la opción de Fields, tendremos los campos que deseamos obtener con la consulta SQL. En este caso, tendremos name, telefono, email.

Ahora ya estamos listos para diseñar el reporte. En la segunda parte de este breve tutorial veremos como hacerlo.