artigo java magazine 53 - Relatórios com JasperReports e JPA

Artigo da revista java magazine 53.

Esse artigo faz parte da revista Java Magazine edição 53. Clique aqui para ler todos os artigos desta edição.

Clique aqui para ler esse artigo em PDF.

Relatórios com JasperReports e JPA

Crie passo a passo um relatório com grupos e totalizações

Usando o editor de relatórios iReport e a API open source JasperReports, além da Java Persistence API e o NetBeans 6.0, para criar relatórios com produtividade

Neste artigo, vamos mostrar, em um exemplo realista e prático, como combinar duas tecnologias importantes em aplicações comerciais: a API de geração de relatórios JasperReports e a Java Persistence API (JPA).

O exemplo visa suportar o levantamento das horas gastas em projetos de desenvolvimento para funcionários de uma empresa de software. A Figura 1 mostra o resultado final do relatório que será criado. O projeto web usado neste artigo tem uma única página JSP que contém um link para o servlet que executa o relatório. Ele é baseado em três entidades: Projeto, Funcionário e Lançamento. Os dados do relatório são obtidos a partir de um banco MySQL. O diagrama de classes do projeto é mostrado na Figura 2 e as tabelas do banco na Figura 3. Disponibilizamos para download no site da Java Magazine o projeto completo, juntamente com o script para criação do banco de dados.

Para facilitar o desenvolvimento, vamos usar o iReport para o layout do relatório e o NetBeans 6.0 para desenvolver a aplicação web e as entidades JPA. Usaremos também o servidor de aplicações Apache Tomcat 6, que vem integrado com o NetBeans, bem como a implementação JPA fornecida com este IDE (o TopLink Essentials). Você pode obter o iReport em jasperforge.org/sf/projects/ireport (todas as bibliotecas necessárias, inclusive as do JasperReports, são incluídas no download principal).

 

 

Figura 1. Resultado final do relatório

 

 

Figura 2. Diagrama de classes (para as entidades)

 

 

Figura 3. Tabelas do banco de dados

 

Criando o projeto

No NetBeans, vá em File|New Project, selecione Web Application e clique em Next. Digite “ControleProjetos” para o nome do projeto, clique em Next e na última tela clique em Finalize.

Clique com o botão direito sobre o nó do projeto e selecione Properties. Na janela que aparece, escolha Libraries, à esquerda. Clique em Add Library, selecione TopLink Essentials e confirme clicando no outro botão Add Library.

Depois clique em Add JAR/Folder e coloque os arquivos JAR que estão na pasta lib do iReport, conforme se vê na Figura 4. Na parte esquerda desta janela, selecione Run e coloque /index.jsp no item Relative URL. Finalize a configuração clicando em OK.

 

Figura 4. Configurando as bibliotecas de relatórios

 

Unidade de Persistência

O próximo passo é criar a unidade de persistência JPA. Vá em File|New File e no quadro Categories selecione Persistence. Em File Types escolha Persistence Unit e clique em Next. Na janela seguinte, já aparecerá o nome “ControleProjetosPU”, que não precisa ser alterado.

Mude Persistence Library para TopLink (o default) e em Database Connection selecione a URL de conexão para o banco de dados que será usado no projeto (você precisará, é claro, ter criado o banco de dados indicado no início do artigo). Caso não exista uma conexão, crie uma nova selecionando New Database Connection" [...] continue lendo...

Artigos relacionados