Criando um CRUD em JSF e Ajax com o NetBeans 6.5 Beta

Pré-requisito: NetBeans 6.5 Beta, ou versão mais recente com o pacote Java Web and EE ou completo. O glassfish versão 2 ou 3 deve estar instalado.

Neste tutorial podemos ver como criar uma aplicação CRUD (Create=Criar, Read=Ler, Update=Atualizar, Delete=Excluir) utilizando o NetBeans IDE 6.5 Beta. As principais características demonstrada neste tutorial são: trabalhar com um projeto web utilizando glassfish e java server faces; criar um Persistence Unit (Unidade de Persistência); criar um Entity class (Entidade de classe); gerar automaticamente páginas jsf a partir do entity class.

Vamos começar, primeiramente vá até a aba Services (Ctrl+5), abra o nó Databases e siga os seguintes passos:

  1. clique com o botão direito em Java DB em seguida Start Server (Figura 1)
  2. clique novamente com o botão direito em Java DB agora clique em Create Database…
  3. na próxima janela preenche os campos de acordo com a Figura 2

Figura 1 - Iniciando o servidor Java DB

Figura 2 - Criando um novo banco de dados no Java DB

Agora com o banco de dados criado, vamos então para o nosso projeto no NetBeans, então:

  1. Crie um novo projeto web (File->New project) na categoria Java Web, escolha a opção Web Application (Figura 3)
  2. na janela seguinte preencha os campos de acordo com a Figura 4
  3. Defina o servidor web (recomendado o glassfish v2 ou v3) e o caminho do contexto (Figura 5)
  4. clique em next e selecione o framework: JavaServer Faces (Figura 6)

Figura 3 - Criando um novo projeto web

Figura 4 - Definindo o nome e local do projeto

Figura 5 - Sugestões para escolha do servidor web e configurações

Figura 6 - Adicionando o framework JavaServer Faces ao seu projeto

Agora seu projeto está criado, para testar se o seu projeto está funcionando corretamente com o servidor web, clique com o botão direito no projeto (janela projects – Ctrl+1) e clique em Run.
Bom, o próximo passo é criarmos um Persistence Unit, um Entity class, os controllers do JPA (Java Persistence API):

  1. clique em File->new File, selecione a categoria Persistence, então escolha a opção Persistence Unit e clique em next
  2. Vá até a setinha do combobox e selecione New Data Source…
  3. digite um nome para o jndi name (ex.: dsExemploJsf), em Database Connection selecione a conexão com o banco de dados que você criou no início deste tutorial, clique em ok
  4. na janela Provider and Database preencha os campos de acordo com a Figura 8 em seguida clique em finish
  5. Novamente clique em File->new File, na categoria Persistence, selecione Entity Class e clique em next
  6. na janela seguinte preencha os campos de acordo com a Figura 9 e clique em Finish

Figura 7 - Novo Persistence Unit

Figura 8 - Provider and Database

Figura 9 - Criando um novo Entity class

Depois de gerado o arquivo Livro.java o NetBeans abre automaticamente ele, vamos editar este arquivo para que fique da seguinte forma:

@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
 
private String isbn;
private String titulo;
private String autor;
private Integer numeroPaginas;
private Double peso;
 
public Long getId() {
return id;
}

Então posicione o cursor na linha imediatamente depois de:

public void setId(Long id) {
this.id = id;
}

e pressione simultaneamente: Alt+insert, selecione Getter and Setter… selecione todos os campos e clique em ok.

Após criarmos o Entity Class, vamos para mais um wizard do netbeans o qual irá nos gerar os códigos necessários para trabalhar com JPA e os arquivos JSF, para isso vamos em File->New File, na categoria Persistence, escolha a opção: JSF Pages From Entity Classes, e siga novamente os passos:

  1. Escolha a Entity class do Livro (Figura 10)
  2. Escolha os pacotes para onde vão ficar os arquivos gerados para manipulação do JPA e JSF (Figura 11), nesta opção perceba que aparece a opção “Ajax-enable generated pages”, que fará com que o código gerado utilize tecnologia Ajax, lembrando que esta opção só está disponível a partir da versão 6.5 beta do NetBeans

Figura 10 - Selecionar Entity classes

Figura 11 - Selecionar pacotes para JPA e JSF

Pronto, agora estamos com todo o código necessário pronto, para que possamos testar o resultado do nosso projeto, construa o projeto (tecle Shift+F11, limpa e constrói o projeto) clique com o botão direito no nome do projeto pela janela Projects (Ctrl+1) em seguida clique em “Undeploy and Deploy” para remover o projeto do servidor web (se houver) e implantar a versão que você acabou de construir (Figura 12).

Se não houver nenhuma mensagem de erro na janela Output (Ctrl+4), você pode executar o projeto através da tecla F6 e ver seu CRUD funcionando bonitinho. (Figuras 13 e 14)

Figura 12 - Undeploy and Deploy (Desimplantação e implantação) do projeto

Figura 13 - CRUD pronto, criando um novo registro

Figura 14 - CRUD pronto, visão geral dos registro após confirmação de inserção do registro

Conclusão: Não é recomendável que uma pessoa que não tenha experiência com Java Server Faces utilize o assistente de geração de CRUD do NetBeans para fazer seu trabalho do dia a dia de produção, a importância dessa característica do IDE NetBeans para esse público é que tenham acesso ao desenvolvimento passo a passo da criação de um CRUD utilizando esses fantásticos frameworks para Java, o aprendizado nessa atividade é bastante satisfatório. Para quem já tem experiência basta olhar o processo de criação e os resultados e já saberá o que fazer. Para quem quer uma coisa prática, sem muito detalhe, e que seja bem rápido de fazer isso aqui é uma mão na roda.

Analisando o NetBeans 6.5 Beta – O módulo Banco de dados

Ontem foi lançado o NetBeans 6.5 Beta e hoje estou aqui testando as melhorias e novas funcionalidades dele, nesse post vamos discutir sobre o módulo para banco de dados que foi praticamente todo refeito e o resultado foi ótimo!

De cara já vemos uma total reformulação na janela de conexão com uma base de dados, bem mais organizada e fácil de preencher. O interessante é que foi mantida uma opção para que o usuário preencha o endereço jdbc, se preferir.

Nova janela para conexão com base de dados

Nova janela para conexão com base de dados

Outra mudança significativa foi nos resultados de uma consulta sql, agora temos um menubar para efetuar diversas operações (inserir, modificar e remover registros), navegar através de páginas nos resultados, além de scripts para geração de sql para create, insert, delete e update.

Janela de resultado para uma consulta sql

Janela de resultado para uma consulta sql

E por fim o que mais me agradou no novo módulo de banco de dados do NetBeans foi o editor de sql que agora guarda um histórico de suas instruções sql e tem autocompletar para sua base de dados. Achei estranho que o autocompletar não funcionou para o sql, porém o autocompletar de esquemas, tabelas e campos funciona perfeitamente analisando bem a semântica da instrução que está sendo executada.

Novo editor de sql com autocompletar