Nesse post vamos criar uma aplicação web e configurar o framework Hibernate para persistência de dados.
1. Crie um novo projeto Java Web do tipo Aplicação Web, clique em próximo.
1. Crie um novo projeto Java Web do tipo Aplicação Web, clique em próximo.
![]() |
2. De um nome para o projeto e escolha o local onde deseje salvar o projeto,
clique em próximo.
Obs.: vc pode escolher se quer manter uma pasta dedicada para armazenar as bibliotecas que serão utilizadas. Se vc marcar esta opção, será criado uma pasta .\lib dentro do seu projeto, nela ficarão armazenados os arquivos jar’s do hibernate.
Obs.: vc pode escolher se quer manter uma pasta dedicada para armazenar as bibliotecas que serão utilizadas. Se vc marcar esta opção, será criado uma pasta .\lib dentro do seu projeto, nela ficarão armazenados os arquivos jar’s do hibernate.
![]() |
3. Escolher o servidor para executar a
aplicação, no meu caso vou utilizar o GlassFish, mas vc poderá utilizar o
Apache Tomcat ou outro de sua preferência, clique em próximo.
3.1 Na escolha dos frameworks, selecione o Hibernate
![]() |
3.2 Selecionar base de dados, certifique-se q o banco já exista e vamos criar uma
‘nova conexão com o banco’
3.2.1 Escolha o Driver do MySQL, clique em próximo
3.2.2 Informe o host, porta, nome do banco, usuário e senha para conectar ao banco, clique em próximo e finalizar.
Pronto vc criou uma conexao da IDE Netbeans com o banco de dados que
iremos utilizar neste tutorial.
3.3 Retornando para a tela principal de criação do projeto, certifique-se que
o banco correto esta selecionado e clique em finalizar.
![]() |
Oque o Netbeans fez para vc, ele criou o seu projeto com uma estrutura
pronta para rodar uma aplicação web, adicionou os arquivos jar´s da biblioteca
do Hibernate, gerou automaticamente o arquivo Hibernate.cfg.xml de configuração do
hibernate com o banco de dados
Abra o arquivo Hibernate.cfg.xml, observe que as informações de acesso ao
banco estão descritas conforme abaixo:
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?xml version="1.0" encoding="UTF-8"?> | |
<!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"> | |
<hibernate-configuration> | |
<session-factory> | |
<property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property> | |
<property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property> | |
<property name="hibernate.connection.url">jdbc:mysql://localhost:3306/configHibernate</property> | |
<property name="hibernate.connection.username">root</property> | |
<property name="hibernate.connection.password">mara</property> | |
</session-factory> | |
</hibernate-configuration> |
Agora vamos criar a classe HibernateUtil, esta classe será responsável por
ler as configurações no arquivo Hibernate.cfg.xml e abrir a sessão(conexão)
para manipularmos os dados do banco.
Crie um novo pacote, vc pode dar o nome que quiser, mas aqui darei o nome de configuracao.
Dentro do pacote ‘configuração’ crie uma nova classe HibernateUtil.
Na classe HibernateUtil teremos o seguinte código.
package configuracao;
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package configuracao; | |
import org.hibernate.SessionFactory; | |
import org.hibernate.cfg.AnnotationConfiguration; | |
/** | |
* | |
* @author Mara | |
*/ | |
public class HibernateUtil { | |
// declare um objeto do tipo SessionFactory | |
/* Mas pq o atributo é static? | |
* declare como static para que vc possa chamar esse método mesmo sem ter uma instância | |
* da classe HibernateUtil, conceito básico de encapsulamento. | |
*/ | |
// ops não esqueça de importar do pacote correto heim | |
// deve ser o pacote org.hibernate | |
public static SessionFactory sessionFactory; | |
public HibernateUtil() { | |
} | |
/*vamos criar um método que retorne a nossa sessionFactory aberta | |
*esse método tb deve ser static, pois um atributo static só pode ser visto | |
* por um método tb static | |
*/ | |
public static SessionFactory getSessionFactory() { | |
// verificar se nossa session é null, se for passar a configuração e abrir | |
if (sessionFactory == null) { | |
// por favor dentro de try e catch para tratarmos o erro se ocorrer | |
try { | |
// instanciar o objeto para receber a configuração | |
AnnotationConfiguration annotation = new AnnotationConfiguration(); | |
// vamos pedir para ler a configuração e abrir a sessão | |
sessionFactory = annotation.configure().buildSessionFactory(); | |
} catch (Throwable ex) { | |
/* Throwable é o pai de todas as excessões então qualquer | |
* excessão que ocorrer será tratada | |
*/ | |
System.out.println("Erro ao inicar o Hibernte " + ex); | |
throw new ExceptionInInitializerError(ex); | |
} | |
// se td der certo retorna a sessao aberta | |
return sessionFactory; | |
} else { | |
return sessionFactory; | |
} | |
} | |
} |
Feito isso vamos criar um nova classe para testar a conexão através do
hibernate.
No pacote configuracao crie uma classe TestaHibernate, nesta classe
coloque o seguinte código:
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package configuracao; | |
import org.hibernate.Session; | |
/** | |
* | |
* @author Mara | |
*/ | |
public class TestaHibernate { | |
public static void main(String[] args) { | |
/* instancie um obejto do tipo session para receber a conexao aberta | |
* chamamos o metodo getSessionFactory da classe hibernateUtil | |
* e abrimos a sessão para manipular os dados | |
*/ | |
Session session = HibernateUtil.getSessionFactory().openSession(); | |
System.out.println("Iniciado com Sucesso"); | |
} | |
} |
Agora execute a classe pressione shift+F6 e pronto deve ser exibido a
mensagem “Hibernate Iniciado com Sucesso!”