thiago hernandes de souza -...

22
Thiago Hernandes de Souza

Upload: others

Post on 31-Jul-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Thiago Hernandes de Souza - img.americanas.com.brimg.americanas.com.br/produtos/01/02/manual/113028481.pdf · Para isso, o surgimento das ferramentas iReport (projeto mantido pela

Thiago Hernandes de Souza

Page 2: Thiago Hernandes de Souza - img.americanas.com.brimg.americanas.com.br/produtos/01/02/manual/113028481.pdf · Para isso, o surgimento das ferramentas iReport (projeto mantido pela

��������� ����������������������������������������������������� � �����������

�������©©������������� ������!���"#�$%&'

�������������������� ��� ������������������������� ������������������������������������������ ������!�"#$%���#!&'&#!!(%���)� ��������� ���������*����������+���% � ���� ���� ���������% ���� �,�� ,�� � �� � �-����% � �.����% �����/���0����������%�� �����1���������+�23�%����������%�����������

�������4�� ������1�4�����,������� ������������ ���5��������,����������������������������6�������������� �����)�������� ��������� �����������������������������6������

5*���� ������� ������������ ����� � �� � ������ � �� � ����� � ���� � �� � ,���� � � � � ���� � ��� � �� � � � ��/�� �� � ,� � ������ � ��� � ������ � ��7� ���23�% � �� � ����� � � ��� �� � �� � ������� � ��� � � ��% � � � ���� � �� ��� � ������ �+����������� �������������/������������%� �8�/�����7� �������������������������������%�� ����23������/������������������������ �+�23���9�� ,���� )��2�� ��� ����0������������� ������*� ����������:�����

������� �!"#�$����

()*+�#�,����-�����������"

��������� ��������������������������������������������������� ��� �����������

������;�����<����������:����������������%�'$#=�

#� �4����� �23������ �������>�4����� ����������'����:���������� ���23���?���� �

�@A�<�!B(C(DC=!!C$=""CD���������������������������������������������������������������������������$$D�������������������������������������������������������������������������������������������������������������������������$$E�������������������������������������������������������������������������������������������������������

���������%�����������!���&�&���������������'()*����+���������,������'�,*-��������./&01/231/ ���4.35../32))).6��7�4.35../32)80)�2���!�!��9!��&�"�&-�:::&!��&�"�&-�/.63;

Page 3: Thiago Hernandes de Souza - img.americanas.com.brimg.americanas.com.br/produtos/01/02/manual/113028481.pdf · Para isso, o surgimento das ferramentas iReport (projeto mantido pela

“Confia ao SENHOR as tuas obras, e teus pensamentosserão estabelecidos.”

(Provérbios 16:3)

Primeiramente ao Senhor Jesus Cristo, por fazer o intermédio junto a Deustrazendo na medida do possível, o conhecimento necessário para o desenvolvi-mento dessa obra.

Também, ao meu avô materno (in memorian), popular Chiquinho (Francisco),meu avô paterno (in memorian), Leodoro e a minha avó materna (in memorian),Izaura, que não tiveram a oportunidade de contemplar esse trabalho.

Não esquecendo de toda minha família e principalmente, da fonte inesgotávelde alegria e paz transmitida por minha amada filha, Maria Eduarda.

Dedicatória

Page 4: Thiago Hernandes de Souza - img.americanas.com.brimg.americanas.com.br/produtos/01/02/manual/113028481.pdf · Para isso, o surgimento das ferramentas iReport (projeto mantido pela
Page 5: Thiago Hernandes de Souza - img.americanas.com.brimg.americanas.com.br/produtos/01/02/manual/113028481.pdf · Para isso, o surgimento das ferramentas iReport (projeto mantido pela

“O vinho é escarnecedor, a bebida forte alvoroçadora;e todo aquele que neles errar nunca será sábio.”

(Provérbios 20:1)

Agradeço a Deus, pelos momentos em que me falou em silêncio: “Vai, faça!Continue o que começou”.

Também, a força que sempre me alçou ao pensar em alguém como minha filha,Maria Eduarda (5 aninhos) que um dia entenderá esse trabalho.

Não bastante, aos meus familiares (mãe, pai, irmã e avó paterna) e namorada,com quem sempre pude compartilhar um pouco do que está se passando emminha vida.

Agradecimentos

Page 6: Thiago Hernandes de Souza - img.americanas.com.brimg.americanas.com.br/produtos/01/02/manual/113028481.pdf · Para isso, o surgimento das ferramentas iReport (projeto mantido pela
Page 7: Thiago Hernandes de Souza - img.americanas.com.brimg.americanas.com.br/produtos/01/02/manual/113028481.pdf · Para isso, o surgimento das ferramentas iReport (projeto mantido pela

Introdução

Com o crescimento de frameworks1 e demais tecnologias para o cenário mun-dial voltado para o desenvolvimento Java, muitas informações em banco de dadosficaram a mercê de uma boa ferramenta de desenvolvimento, manipulação de dados eapresentações de estatísticas.

Para isso, o surgimento das ferramentas iReport (projeto mantido pelaJasperReports) e Pentaho Design concretizaram uma forte parceria de integração comaplicações Java, onde o objetivo se resume em abstrair dados abastecidos em banco dedados e formatá-los de forma a aparecer ao usuário final com uma estética profissionale agradável, além de possibilitar funcionalidades extras como impressão e exporta-ção para outros formatos (PDF, XLS, DOC, ODT, etc).

Toda projeção em ambos os relatórios das ferramentas são baseados em objetose linhas de códigos, tais como XML, instruções SQL e funções disponíveis referente acada tipo de componente.

Sendo assim, de nada adianta ter informações se não tiver estatísticas e formasfacilitadoras de entendimento pelo usuário final.

1 Consiste em uma abstração que une códigos comuns entre vários projetos de software possibilitando umafuncionalidade genérica.

Page 8: Thiago Hernandes de Souza - img.americanas.com.brimg.americanas.com.br/produtos/01/02/manual/113028481.pdf · Para isso, o surgimento das ferramentas iReport (projeto mantido pela
Page 9: Thiago Hernandes de Souza - img.americanas.com.brimg.americanas.com.br/produtos/01/02/manual/113028481.pdf · Para isso, o surgimento das ferramentas iReport (projeto mantido pela

Capítulo 1Capítulo 1Capítulo 1Capítulo 1Capítulo 1

Preparando o Ambiente .............................................................................................. 1

1.1 JDK (Java Development Kit) ...................................................................... 1

1.2 JRE (Java Runtime Enviroment) ............................................................... 2

1.3 Variável de Ambiente JAVA_HOME .......................................................... 3

1.4 Netbeans ..................................................................................................... 6

1.5 WAMPSERVER ............................................................................................ 6

1.6 Toad for MySQL .......................................................................................... 7

1.7 PostgreSQL ................................................................................................. 8

1.8 PgAdmin ...................................................................................................... 9

1.9 iReport ......................................................................................................... 9

1.10 Pentaho Design...................................................................................... 10

Capítulo 2Capítulo 2Capítulo 2Capítulo 2Capítulo 2

Java e Banco de Dados .............................................................................................. 13

2.1 Sistemas de Banco de Dados Relacionais .......................................... 13

2.1.1. Estruturas Relacionais .............................................................. 14

2.1.2. Integridade .................................................................................. 14

2.1.3. Primary Key – Chave Primária ................................................. 15

2.1.4. Foreign Key – Chave Estrangeira ............................................. 16

2.1.5. SQL (Structured Query Language) ........................................... 16

Sumário

Page 10: Thiago Hernandes de Souza - img.americanas.com.brimg.americanas.com.br/produtos/01/02/manual/113028481.pdf · Para isso, o surgimento das ferramentas iReport (projeto mantido pela

X Relatórios Profissionais para Aplicações Java...

2.1.6. Criando um Banco de Dados com o MySQL .......................... 17

2.1.6.1. Principais Tipos de Dados ............................................. 21

2.1.6.2. Tabelas ............................................................................. 22

2.1.6.3. Atributos .......................................................................... 34

2.1.7. Criando um Banco de Dados com o PostgreSQL .................. 36

2.1.7.1. Principais Tipos de Dados ............................................. 39

2.1.7.2. Tabelas ............................................................................. 39

2.1.7.3. Atributos ........................................................................... 51

2.1.8. JDBC (Java Database Connectivity API) .................................. 52

2.1.8.1. Conectores: MySQL e PostgreSQL ............................... 53

2.1.9. Java............................................................................................... 53

2.1.9.1. Conectando, Inserindo, Alterando, Excluindo e

Retornando Consultas .................................................................. 54

2.1.9.1.1. Com o MySQL ........................................................ 54

2.1.9.1.2. Com o PostgreSQL ................................................ 76

Capítulo 3Capítulo 3Capítulo 3Capítulo 3Capítulo 3

iReport .......................................................................................................................... 91

3.1 Criando o Primeiro Arquivo de Relatório .............................................. 91

3.1.1. Entendendo a Estrutura do Relatório ..................................... 93

3.1.2. Conhecendo os Principais Componentes............................... 95

3.1.3.Criando Conexão com Banco .................................................... 96

3.1.3.1. MySQL .............................................................................. 96

3.1.3.2. PostgreSQL ...................................................................... 98

3.1.4. Instruções SQL ............................................................................ 99

3.1.4.1. Definindo ...................................................................... 100

3.1.4.2. Parametrizando ........................................................... 103

3.1.5. Subrelatórios ............................................................................ 105

3.1.6. Código de Barras ..................................................................... 114

3.1.7. Gráficos ......................................................................................116

Page 11: Thiago Hernandes de Souza - img.americanas.com.brimg.americanas.com.br/produtos/01/02/manual/113028481.pdf · Para isso, o surgimento das ferramentas iReport (projeto mantido pela

XISumário

Capítulo 4Capítulo 4Capítulo 4Capítulo 4Capítulo 4

Pentaho ......................................................................................................................121

4.1 Criando o Primeiro Arquivo de Relatório ............................................121

4.1.1. Entendendo a Estrutura do Relatório .................................. 123

4.1.2. Conhecendo os Principais Componentes.............................124

4.1.3. Criando Conexão com o Banco ..............................................124

4.1.3.1. MySQL ........................................................................... 125

4.1.3.2. PostgreSQL ....................................................................127

4.1.4. Instruções SQL ......................................................................... 128

4.1.4.1. Definindo ...................................................................... 129

4.1.4.2. Parametrizando ........................................................... 130

4.1.5. Subrelatórios ............................................................................ 132

4.1.6. Código de Barras ..................................................................... 136

4.1.7. Gráficos ......................................................................................137

Capítulo 5Capítulo 5Capítulo 5Capítulo 5Capítulo 5

Desenvolvendo Aplicações Java SE e EE para chamar Relatórios “.jasper”

(iReport) .................................................................................................................... 143

5.1 Aplicação Java SE (desktop) sem Parâmetro .................................. 143

5.2 Parametrizando uma aplicação Java SE ........................................... 147

5.3 Aplicação web sem Parâmetro .......................................................... 149

5.4 Parametrizando uma aplicação Java EE .......................................... 154

5.5 Chamando um relatório parametrizado do iReport através de um

arquivo XHTML.............................................................................................. 156

Capítulo 6Capítulo 6Capítulo 6Capítulo 6Capítulo 6

Desenvolvendo Aplicações Java SE e EE para chamar Relatórios “.prpt”

(Pentaho) .................................................................................................................... 161

6.1 Aplicação Java SE (desktop) sem Parâmetro .................................... 161

Page 12: Thiago Hernandes de Souza - img.americanas.com.brimg.americanas.com.br/produtos/01/02/manual/113028481.pdf · Para isso, o surgimento das ferramentas iReport (projeto mantido pela

XII Relatórios Profissionais para Aplicações Java...

6.2 Parametrizando uma aplicação Java SE ............................................166

6.3 Aplicação web sem parâmetro ............................................................168

6.4 Parametrizando uma aplicação Java EE ............................................ 172

6.5 Chamando um relatório parametrizado do Pentaho através de um

arquivo XHTML............................................................................................... 174

Capítulo 7Capítulo 7Capítulo 7Capítulo 7Capítulo 7

Praticando com Java ................................................................................................ 177

7.1 MySQL – inserir, alterar, excluir e retornar dados ............................ 177

7.1.1. Definindo as classes ................................................................ 178

7.1.2. Definindo os frames ................................................................. 182

7.2 PostgreSQL .............................................................................................. 194

Page 13: Thiago Hernandes de Souza - img.americanas.com.brimg.americanas.com.br/produtos/01/02/manual/113028481.pdf · Para isso, o surgimento das ferramentas iReport (projeto mantido pela

Capítulo Capítulo Capítulo Capítulo Capítulo 11111Preparando o Ambiente

1.1 JDK (Java Development Kit)O JDK é o kit de desenvolvimento Java. Composto por diversas classes,

bibliotecas e compilador.

Através desse kit, que a criação de aplicações Java são possíveis.

Para adquiri-lo acesse: http://www.oracle.com/technetwork/java/javase/downloads/jdk-7u3-download-1501626.html

Em seguida, aceite (Figura 1) as condições da licença da Oracle e escolha(Figura 2) o instalativo de acordo com a versão do Windows instalada na máquina parao desenvolvimento das aplicações Java.

Figura 1 – Aceitar as condições de licença da Oracle

Figura 2 – Escolher a versão do instalativo do Windows: 32 ou 64 bits

Page 14: Thiago Hernandes de Souza - img.americanas.com.brimg.americanas.com.br/produtos/01/02/manual/113028481.pdf · Para isso, o surgimento das ferramentas iReport (projeto mantido pela

2 Relatórios Profissionais para Aplicações Java...

1.2 JRE (Java Runtime Enviroment)É o ambiente de execução Java. Tem a função de executar as aplicações da

plataforma Java. É composto por bibliotecas e pela Máquina Virtual Java (JVM).

A função da JVM é carregar e executar os aplicativos Java, fazendo emseguida, a conversão dos códigos escritos pela linguagem Java em bytecodes. Ou seja,graças a JVM, aplicações Java podem funcionar em qualquer plataforma de hardware(Windows ou UNIX).

Para fazer download, acesse: http://www.oracle.com/technetwork/java/javase/downloads/jre7-downloads-1637588.html

É o mesmo procedimento do JDK. Deve-se aceitar (Figura 3) a licença da Oraclee escolher (Figura 4) a versão do sistema operacional.

Figura 3 – Aceitar a licença da Oracle

Figura 4 – Escolher a versão do sistema operacional

Para instalar tanto o JDK, quanto o JRE são passos simples sem complicações.

Os diretórios usuais de instalação do JDK e JRE são respectivamente:

JDK - C:\Program Files\Java\jdk1.7.0_03JRE - C:\Program Files\Java\jre7

Page 15: Thiago Hernandes de Souza - img.americanas.com.brimg.americanas.com.br/produtos/01/02/manual/113028481.pdf · Para isso, o surgimento das ferramentas iReport (projeto mantido pela

3Capítulo 1 - Preparando o Ambiente

1.3 Variável de Ambiente JAVA_HOMEÉ essa variável de ambiente que mostra ao sistema operacional onde está

instalado o kit de desenvolvimento do Java. Através dela, fica definido o caminhoonde se encontram as classes e bibliotecas relacionadas às funcionalidades dedesenvolvimento de aplicações Java.

Para criá-la, observe as Figuras: 5 a 10:

Figura 5 – Vá ao “Menu Iniciar” e selecione com o botão direito “Computador”

Figura 6 – Escolha a opção “Propriedades”

Figura 7 – Selecione “Configurações avançadas do sistema”

Page 16: Thiago Hernandes de Souza - img.americanas.com.brimg.americanas.com.br/produtos/01/02/manual/113028481.pdf · Para isso, o surgimento das ferramentas iReport (projeto mantido pela

4 Relatórios Profissionais para Aplicações Java...

Figura 8 – Agora, clique em “Variáveis de Ambiente...”

Figura 9 – Em “Variáveis do Sistema” escolha “Novo...”

Page 17: Thiago Hernandes de Souza - img.americanas.com.brimg.americanas.com.br/produtos/01/02/manual/113028481.pdf · Para isso, o surgimento das ferramentas iReport (projeto mantido pela

5Capítulo 1 - Preparando o Ambiente

Figura 10 – Parametrizando a variável de ambiente JAVA_HOMEe o diretório de instalação do JDK

Figura 10a – Selecionar a variável de sistema “Path” eem seguida clicar no botão “Editar”

Figura 10b – No final do valor da variável colocar: “;%JAVA_HOME%\bin”OBS: Sem as aspas duplas.

Page 18: Thiago Hernandes de Souza - img.americanas.com.brimg.americanas.com.br/produtos/01/02/manual/113028481.pdf · Para isso, o surgimento das ferramentas iReport (projeto mantido pela

6 Relatórios Profissionais para Aplicações Java...

1.4 NetbeansO Netbeans é uma ferramenta GUI (Graphical User Interface) para

desenvolvimento de aplicações. Possibilita a criação tanto de aplicações Java SE(desktop), quanto Java EE (web), além de possibilitar a criação de serviços e diversosoutros mecanismos para integração com aplicações, bibliotecas e/ou frameworks.

Possibilita, ainda, a integração com diversos servidores (TomCat, Geronimo,Glassfish, Jetty, etc.) sem contar a possibilidade da instalação de plugins2 de tecnologiasde terceiros em seu ambiente.

Para adquiri-lo, acesse: http://netbeans.org/downloads/index.html

Figura 11 – Escolha a distribuição Java EE

1.5 WAMPSERVERÉ um ambiente de desenvolvimento web para Windows. Permite a criação de

aplicações utilizando: Apache, PHP e MySQL.

Será utilizado dessa ferramenta apenas o banco de dados MySQL para os projetosdesenvolvidos em Java no Netbeans.

2 É um módulo de extensão. Pode ser chamado também, de plug-in, add-in ou add-on. Muito usado paraadicionar funções a outros programas.

Page 19: Thiago Hernandes de Souza - img.americanas.com.brimg.americanas.com.br/produtos/01/02/manual/113028481.pdf · Para isso, o surgimento das ferramentas iReport (projeto mantido pela

7Capítulo 1 - Preparando o Ambiente

Faça o download em: http://www.wampserver.com/en/

Figura 12 – Selecione o item de menu “DOWNLOAD”

Figura 13 – Selecione o WAMPSERVER conforme omodo binário do sistema operacional

1.6 Toad for MySQLÉ uma ferramenta GUI de gerenciamento e administração de banco de dados

MySQL.

Proporciona a criação de scripts prontos estruturados a fim de auxiliar o DBA3.

Faça o download em: http://www.quest.com/toad-for-mysql/

3 Database Administrator – Administrador de Banco de Dados. Termo muito utilizado no cenário mundialde TI (Tecnologia da Informação)

Page 20: Thiago Hernandes de Souza - img.americanas.com.brimg.americanas.com.br/produtos/01/02/manual/113028481.pdf · Para isso, o surgimento das ferramentas iReport (projeto mantido pela

8 Relatórios Profissionais para Aplicações Java...

Figura 14 – Página de download4 do Toad for MySQL

1.7 PostgreSQLÉ um poderoso banco de dados, objeto-relacional que possui um completo

gerenciador GUI, denominado PgAdmin.

Além de toda sua funcionalidade e robustez, atende a quesitos de banco dedados geográficos (SIG – Sistemas de Informações Geográficas).

Sem dúvida, uma excelente opção para empresas que não querem gastar comlicenças de banco de dados.

Faça o download em: http://www.enterprisedb.com/products-services-training/pgdownload#windows

Figura 15 – Página de download do PostgreSQL

4 É necessário um cadastro para baixar a ferramenta

Page 21: Thiago Hernandes de Souza - img.americanas.com.brimg.americanas.com.br/produtos/01/02/manual/113028481.pdf · Para isso, o surgimento das ferramentas iReport (projeto mantido pela

9Capítulo 1 - Preparando o Ambiente

1.8 PgAdminÉ o grande aliado do PostgreSQL. Engloba diversas funcionalidades para

agilidade e rapidez no desenvolvimento de estruturas de banco de dados como: tabelas,indexes, chaves, funções, etc.

Será utilizada como auxílio no desenvolvimento e manipulação de estruturas edados com o banco de dados PostgreSQL.

Figura 16 - PgAdmin

1.9 iReportÉ uma das mais populares bibliotecas para relatórios Java. Abrange um design

visual mantido pela comunidade JasperReports. Seus relatórios podem ser acessadosde qualquer aplicação Java.

Suporta diversos formatos em sua saída. Ou seja, pode gerar arquivos dostipos: PDF, OpenOffice, DOCX, XLS, dentre outros.

Além da criação de relatórios, fará "pontes" ou ligações com os banco de dados:MySQL ou PostgreSQL. Fazendo com que, a consulta e o acesso a informações a umbanco de dados sejam feitos por funcionalidades oriundas do iReport e não por umaaplicação.

Faça o download em: http://community.jaspersoft.com/project/ireport-designer/releases

Page 22: Thiago Hernandes de Souza - img.americanas.com.brimg.americanas.com.br/produtos/01/02/manual/113028481.pdf · Para isso, o surgimento das ferramentas iReport (projeto mantido pela

10 Relatórios Profissionais para Aplicações Java...

Figura 17 – Download do iReport

1.10 Pentaho DesignTeve início a partir da biblioteca JFreeReport, sucessora da implementação

do projeto JFreeChart, de David Gilbert. Em que era baseado em relatórios Swingwidget.

Em seguida, Thomas Morgner adicionou novas funcionalidades ao projetoJFreeReport e se tornou o principal pioneiro.

Em meados de 2006, a biblioteca JFreeReport se une a uma companhia de BI(Business Intelligence) denominada Pentaho Reporting. Paternizando assim, osurgimento do Pentaho.

Possui características semelhantes a do iReport, porém, com diferençasquanto a: sintaxe, estrutura e concretização de relatórios estatísticos.

Adquira em: http://community.pentaho.com/projects/bi_platform/design_studio.php