terça-feira, 31 de maio de 2011

Criando aplicação Java + Hibernate + Firebird



Neste artigo criaremos uma aplicação em Java com conexão com o banco de dados Firebird.



Os pré-requisitos para este tutorial são:
Firebird instalado e rodando.

Ver instalação e Download do Firebird no artigo:

Driver do firebird instalado.

Ver instalação e Download do driver JDBC Firebird no artigo:

 
Base de dados em Firebird.
Ver criação de banco de dados no artigo:



Para criação do nosso primeiro projeto utilizaremos a IDE do NetBeans que é uma aplicação de código aberto feita para auxiliar os desenvolvedores na criação de aplicativos em diferentes plataformas .

Download do NetBeans:


Objeto de conexão do projeto:
 Para mapeamento do banco de dados, utilizaremos a ferramenta de mapeamento Hibernate, que já vem instalado no NetBeans.

O Hibernate é uma ferramenta de mapeamento objeto/relacional para Java. Transforma os dados da estrutura lógica de um banco de dados em objetos definidos pelo desenvolvedor é mais indicado para sistemas que contam com um modelo MVC (prática comum no desenvolvimento de aplicações Java, onde se particiona a aplicação em tres partes, View - Control e Model, ou seja uma camada de interface, uma camada de controle e uma camada de negócio), onde a maior parte da lógica de negócios fica na própria aplicação Java, dependendo pouco de funções específicas do banco de dados.

Após Carregar o NetBeans clique no botão novo projeto conforme a imagem abaixo:

Na caixa novo projeto selecione a pasta Java e em Projetos selecione Aplicativos Java e em seguida clique no botão Aplicativo Java
Em seguida clique em avançar conforme a imagem abaixo:



Na caixa de dialogo para criação de projeto no NetBeans insira as informações necessárias para criação do projeto:
1º Nome do Projeto: pragenda
Nome do projeto a ser desenvolvido.
2º Localização do projeto: EX:      c:\projetos\
Caminho para criação do projeto.
3º Criar classe principal .Main
Clique no botão finalizar conforme a imagem abaixo:




Após criar o projeto é hora de estabelecer conexão com o banco de dados, para isso clique com o botão direito do mouse encima do seu projeto selecione Novo/Outro...  conforme a imagem abaixo:




Abrirá uma caixa com as Categorias e Tipos de arquivo:
Selecione:
Categorias: Hibernate
Tipo de arquivo:
Assistente para Configuração de Hibernate


 
No assistente Selecione:
Nome do arquivo: hibernate.cfg
Clique em Próximo >


Selecione a fonte de dados que o hibernate estabelecerá uma conexão e clique em finalizar

O NetBeans gerou o Hibernate.cfg.xml com a configuração da sua base de dados, abra esse arquivo role até Propriedade variada clique em adicionar e altere o valor da propriedade para thread



Após realizar as alterações no arquivo o mesmo ficará conforme a imagem abaixo:



Salve e feche esta classe para que as alterações tenham efeito conforme a imagem abaixo:


Após criar o assistente de configuração, é hora de criar o assistente de Engenharia reversa do Hibernate, com ele criaremos o XML com as configurações da conexão.

Clique com o botão direito do mouse encima do seu projeto selecione Novo/Outro...  conforme a imagem abaixo:


Na categoria Hibernate, selecione Assistente para Engenharia reversa do Hibernate e clique em Próximo conforme a imagem abaixo:


Logo em seguida abrirá a caixa para inserção do nome do arquivo
Não é preciso mudar o nome clique em Próximo>


Em seguida o assistente vai carregar as tabelas da sua base de dados e disponibilizá-las para você, a imagem abaixo mostra o assistente carregando as tabelas aguarde até o termino.


Agora as tabelas se encontram disponíveis no lado esquerdo da tela, selecione as tabelas depois clique em adicionar todos >>

 
Após adicionar as tabelas clique em finalizar



O Hibernate .reveng criou o XML com mapeamento das suas tabelas conforme a imagem abaixo deixe estas duas classes no pacote padrão do seu projeto.


 
Agora vamos criar os Arquivos de mapeamento do Hibernate e POJOs de banco de dados.
Agora vem a parte mais interessante do projeto, pois ele vai gerar a classe de todas as tabelas que foram selecionadas no hibernate.reveng.xml com todas as configurações de uma vez para você.

Clique com o botão direito do mouse encima do seu projeto selecione Novo/Outro...  conforme a imagem abaixo:




Selecione a Categoria: Hibernate e o Tipo de arquivo: Arquivos de mapeamento do Hibernate e POJOs de banco de dados

Em seguida clique em Próximo.


Repare que já foi selecionado o arquivo de configuração do hibernate e arquivo de engenharia reversa, portanto basta incluir o nome do pacote que as tabelas ficarão situadas, por padrão inseri o nome entidades, mais pode inserir o nome que achar conveniente desde que seja coerente.
Clique em Finalizar conforme a imagem abaixo e aguarde o término da criação das tabelas .

Se você seguiu fielmente o artigo até aqui, foi criado o pacote entidades contendo as classes Java de suas tabelas e os XMLs com todo conteúdo pronto para serem usados, conforme a imagem abaixo:


Agora só falta o criar a classe HibernateUtil para finalizar a parte de conexão do banco.

Clique com o botão direito do mouse encima do seu projeto selecione Novo/Outro...  conforme a imagem abaixo:



Em Categorias selecione Hibernate e em Tipos de arquivo selecione HibernateUtil.java e clique em Próximo> conforme a imagem abaixo:


Renomeie o arquivo para HibernateUtil, crie um pacote chamado util  Finalizar
Conforme a imagem abaixo:


Se tudo ocorreu de forma tranquila a extrutura do seu projeto estará parecida com a imagem abaixo, listando os pacote de conexão com os arquivos Hibernate.XML de conexão do banco, o pacote entidades com as tabelas .java e XML do banco, o pacote com a classe Main.java do seu projeto, e o pacote útil com a classe HibernateUtil.java.



Galera abaixo uma pequena implementação na classe Main.javapara testar sua conexão, caso o banco de dados seja diferente não se esqueça de alterar o nome das tabelas e os campos.
O procedimento descrito ao longo deste artigo é válido para qualquer banco de dados que tenha sido conectado com o Hibernate.
Espero que tenham gostado, qualquer dúvida posta ai!




/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package pragenda;
import entidades.Tblendereco; /* import da minha tabela*/
import util.HibernateUtil;  // import da classe util esta classe garante que terá apenas uma sessão aberta no seus sistema com isso temos melhoria de desenpenho no programa
import org.hibernate.Session; //import para uso do Session no hibernate
/**
 *
 * @author Ueliton
 */
public class Main {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        // TODO code application logic here
Tblendereco endereco = new Tblendereco(); // aqui crio o objeto contato do tipo tblcontato
         
          /******* aqui podemos utilizar caixas JOptionPanes para inserir os valores **************/
          endereco.setCodigo(5);
          endereco.setCidade("JUIZ DE FORA");
          endereco.setEstado("MINAS GERAIS");
                  
          Session conexao = HibernateUtil.getSessionFactory().getCurrentSession(); // aqui crio o objeto de conexão que abre a sessão no banco de dados
          conexao.beginTransaction(); // aqui inicio a sessão com o banco
          conexao.save(endereco);  //aqui salvo as informações do objeto na  tabela do banco de dados
          conexao.getTransaction().commit(); // aqui fecho a sessão do meu banco
    }

}

sábado, 28 de maio de 2011

Conexão Banco de dados Firebird com Netbeans

Conexão Banco de dados Firebird com Netbeans.

O pré-requisito para este tutorial é a instalação do Firebird, banco de dados Firebird e instalação do driver JDBC no NetBeans.

Ver instalação e Download do Firebird no artigo:

Ver criação de Banco de dados em Firebird com IBEXpert:



Ver instalação e Download do driver JDBC Firebird no artigo:




Após abrir o Netbeans clique na aba serviços navegue até a pasta drivers, procure o driver Firebird (JCA/JDBC driver) .
Com o botão direito do mouse encima do driver selecione a opção conectar utilizando.... 

conforme a imagem abaixo:

Abrirá uma caixa para inserção das informações necessárias para a conexão do banco de dados:
Nome do driver: Firebird (JCA/JDBC driver)

Nome do usuário: SYSDBA

Senha: masterkey

Nome para exibição: MINHA CONEXÃO

Url JDBC: jdbc:firebirdsql:[//<HOST>[:<PORT>]/]<DB>

jdbc:firebirdsql:localhost/3050:unidade:caminho/para/seubanco/banco.FDB

logo após inserir estas informações clique em ok e a conexão será estabelecida.



Selecione a conexão que você criou neste caso “MINHA CONEXÃO”


Abra a pasta Tabelas, dentro desta pasta navegue até as tabelas.


Clique no sinal de + na tblcontato selecione os campos e clicando com o botão direito do mouse selecione Visualiza dados...
Conforme a imagem abaixo:


O NetBeans constrói o código SQL e lista os dados em uma tabela dinâmica, onde você pode realizar as operações de inclusão, exclusão, alteração e criação de outras tabelas dentro do NetBeans.

Abaixo imagem do código SQL, os botões para manipulação de registros e a visualização dos dados:


O NetBeans é uma excelente ferramenta de desenvolvimento e oferece recursos para várias plataformas.
Espero que tenham gostado.
Qualquer dúvida posta ai!!

Veja também:

Criar Banco de Dados Firebird com IBEXpert

 

Para criarmos nossa base de dados precisaremos de dois pré-requisitos o Firebird e o IBEXpert:

1.     Firebird:

Ver instalação e Download do Firebird no artigo: clique na imagem!

2.      IBEXpert
  
Download do IB:
http://www.baixaki.com.br/download/ibexpert.htm 

Verifique se o Firebird está em execução, caso não esteja, vá para Painel de controle\
Clique no ícone do Firebird conforme a imagem abaixo:



Caso o Firebird estiver parado clique em Start para iniciá-lo e depois OK para inicializar o servidor conforme a imagem abaixo:

Parado:

 

Executando: 



Depois de certificar que o Firebird está em execução clique no icone do Ibexpert na sua área de trabalho:



 Abaixo a tela de carregamento do IBEXpert.


Após carregar o IBEXpert vá ao menu Database e clique no submenu Create Database... conforme a figura abaixo:


Abrirá a caixa para criação do banco de dados conforme abaixo:


















1º Server = Remote
Server é o tipo de servidor que o banco será destinado no nosso caso remoto.

2º Server name = Localhost
O IP da máquina ou nome do servidor em que o banco se localizará, utilizaremos localhost.

3º Database = caminho do seu banco de dados Ex: Q:\Projeto01\bdteste.fdb
Insira o caminho seguido do nome que vai atribuir ao seu banco com a extensão  “.FDB”

4º Username = SYSDBA
Este Username é padrão.

5º Password (senha) = masterkey
Esta é a senha padrão.

6º Page Size = none

O tamanho de paginação do banco utilizaremos o tamanho padrão.
Depois de inserir estas informações clique no botão OK

Logo em seguida aparecerá a tela de registro do banco conforme a imagem abaixo:


 
No Database Registration segue a mesma rotina com poucas variações em relação ao Create Database:

1º Server = Remote
Server é o tipo de servidor que o banco será destinado no nosso caso remoto.

2º Server name = Localhost
O IP da máquina ou nome do servidor em que o banco se localizará, utilizaremos localhost.

3º Protocol = TCP/IP
Protocolo de comunicação da conecção

4º Server version: versão do Firebird

5º Database = caminho do seu banco de dados Ex: Q:\Projeto01\bdteste.fdb
Insira o caminho seguido do nome que vai atribuir ao seu banco com a extensão  “.FDB”

6º Username = SYSDBA
Este Username é padrão.

7º Password (senha) = masterkey
Esta é a senha padrão.

8º Page Size = none
Tamanho de paginação do banco, utilizaremos o tamanho padrão.

Depois de inserir estas informações clique no botão OK.
Nosso arquivo de banco de dados foi criado com sucesso!


Agora vamos criar duas tabelas Tblcontato e Tblendereço.
Para criar uma tabela, primeiro precisamos ativar nosso banco de dados, para isso clique no botão Connect to Database conforme a imagem abaixo:




Depois de ativo vamos expandir o banco clicando no sinal de + e com o botão direito do mouse em Tables selecionar a opção new table... conforme a imagem abaixo:



Aparecerá uma tabela igual a da imagem abaixo, siga os seguintes passos.

1º NEW_TABLE = tblcontato
Substitua o nome new_table para tblcontato

2º dê dois cliques no campo PK para inserir a chave primária no campo código

3º propriedade Field Name
Nesta coluna são definidos os nomes dos campos a serem utilizados no banco

Field Type
Nesta coluna é definido a propriedade do campo, pode ser varchar, integer, float e Etc...

Autoinc
Marque esta opção apenas para o campo que vai receber numeração automática, este campo deverá ser do tipo inteiro.
Ao marcar esta opção abrirá uma caixa de dialogo para criação do autoincremento.

Na aba Generator, marque a opção Create Generator e em Generator Name mude para TBLCONTATO_ID conforme a imagem abaixo:



Na aba Trigger marque a opção Create Trigger

Na aba Procedure marque a opção Create procedure e clique em OK

Os campos que vão compor as duas tabelas estão abaixo, crie as duas tabelas conforme as especificações:

Tblcontato:

CAMPO
TIPO
SIZE(TAMANHO)
DESCRIÇÃO
NOTNULL
CODIGO
INTEGER
-
Código do contato
x
NOME
VARCHAR
60
Nome do contato
x
CODENDERECOFK
INTEGER
-
endereço
x

Tbledereco:

CAMPO
TIPO
SIZE(TAMANHO)
DESCRIÇÃO
NOTNULL
CODIGO
INTEGER
-
Código da cidade
x
   CIDADE
VARCHAR
60
Nome da cidade
x
ESTADO
VARCHAR
60
Estado da cidade
x

Continuando a partir da quinta ação do quadro podemos ver os botões adicionar campos (add Field), deletar campo (drop / delete Field), mover campo para cima (mov Field up) e mover campo para baixo (mov Field dow).

Estes estão marcados da 5ª a 8ª ação conforme a imagem abaixo:
Após inserir as informações da tabela contato clique no raio amarelo (compile) 9º opção, para gravar as alterações feitas na tabela, repita o mesmo processo para a tabela contato.
Clique no botão commit para gravar as mudanças conforme a imagem abaixo:
 


Depois de pronta é hora de lincar a chave estrangeira contatofk a tabela endereço.
Abra a tabela tblcontato e clique na aba Constraints e na sub-aba Foreing Keys clique com o botão direito na área livre e selecione New foreing key Ins conforme a imagem abaixo:



 
Constraint Name: FK_TBLCONTATO
defina o nome do relacionamento FK_TBLCONTATO 

On Field: codigo
selecione o código do endereço na tabela tblcontato

FK Table: tblendereco
selecione a tabela tblendereco

FK Field codigo
selecione o código da tabela tblendereco 

5ª Clique no raio amarelo para salvar as alterações conforme a imagem abaixo.



Depois destes procedimentos o seu banco de dados estará pronto para inserção de dados.
Abra a tabela tblcontato e clique na aba data, clique no botão + para inserir um novo registro e insira as informações necessárias, clique em commit botão verde e depois em compile (raio amarelo):


Depois de cadastrar as cidades e os estados na tblendereco, abra a tblcontato e repita o processo de cadastro.

Abaixo tem uma demostração da tblcontato exibindo as informações da tblendereco, selecione e ele fará a ligação entre as tabelas clique em commit e depois em compile e finalmente os dados foram inseridos com sucesso!



Espero que tenham gostado deste artigo, qualquer dúvida posta ai!!!


Veja também:



Conectando BD Firebird no NetBeans (Clique na imagem)