DevMedia - asp.net, Java, Delphi, SQL e web Design, tudo em um só lugar!
Bem vindo a DevMedia!
LOGIN:     SENHA:
 
 

  Este é um post disponível para assinantes MVP
Este post também está disponível para assinantes da Java Magazine DIGITAL
ou para quem possui Créditos DevMedia.  Clique aqui para saber mais!

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

Artigo da revista java magazine 53.

[fechar]

Você não gostou da qualidade deste conteúdo?

(opcional) Você gostaria de comentar o que não lhe agradou?

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

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. No item Table Generation Strategy selecione None e clique em Finish.

Entidades

Vamos criar as classes das entidades Projeto, Funcionario e Lancamento, usando recursos do NetBeans e depois customizando o código gerado.

Selecione File|New File e selecione a categoria Persistence. Escolha Entity Classes from Database e clique em Next. Na janela que aparecerá, selecione a nossa conexão e mova as tabelas FUNCIONARIOS, PROJETOS e LANCAMENTOS para o quadro Selected Tables usando Add; depois clique em Next. Na tela seguinte, mude o nome das classes tirando a letra “s” do final. Também digite um nome de pacote em Package. Ao clicar em Finish, as classes serão criadas. Veja uma seleção de telas na Figura 5. Esses passos geram para você a maior parte do persistence.xml (Listagem 1) o arquivo de configurações do JPA. Este arquivo pode ser encontrado no nó Configuration Files do projeto. Devem ser criadas algumas propriedades adicionais para a conexão ao banco de dados, como se vê na listagem.

 

"

A exibição deste artigo foi interrompida.

  Este é um post disponível para assinantes MVP
Este post também está disponível para assinantes da Java Magazine DIGITAL
ou para quem possui Créditos DevMedia.  Clique aqui para saber mais!


Ana Aparecida Abrantes Da Silva
é desenvolvedora Java na Globalcode, co-autora do curso de JasperReports/iReport e possui algumas certificações em Java (SCJA, SCJP e SCWCD). É formada pela Faculdade de Tecnologia de São Paulo (FATEC) e atua na área de informática há 20 anos. Atualmente pesquisa e testa tecnologias Java para desenv...
O que você achou deste post?

    2 COMENTÁRIOS

[Fechar]

Este post é fechado - você precisa ter acesso ao post para incluir um comentário.



Moacir Pereira Ramos Junior
Caros,

Gostaria de saber onde está o link para o download dos códigos fontes da revista Java Magazine número 53.

Obrigado
[há +1 ano] - Responder

 

Devmedia - Equipe De Moderação
Moacir,
para acessar todos os arquivos das edições da Java, o link é http://www.devmedia.com.br/resumo/download.asp?site=6&idcanal=34
[há +1 ano] - Responder
 
Cursos relacionados
Publicidade
[Fechar]

Você precisa estar logado para dar um feedback.

Clique aqui para efetuar o login
[Fechar]


Este post está fechado. Saiba mais sobre a assinatura MVP!
web-03
DevMedia  |  Anuncie  |  Fale conosco
Hospedagem web por Porta 80 Web Hosting
2013 - Todos os Direitos Reservados a web-03