Estou começando um projeto e estou com dificuldades para conectar o meu projeto ao banco, procuro na internet algum tutorial de como eu faria e infelizmente não acho nenhum.
Estou pretendendo usar JPA, JSF, Jboss e EJB3.0 para meu projeto e infelizmente não sei como configurar o persistence.
Alguém poderia me ajudar me explicando passo a passo ou passando algum tutorial que tenha isso?
Depois de eu fazer farei questão de fazer um artigo de como iniciar um projeto do zero para ajudar as próximas pessoas que tiverem a mesma dificuldade que eu.
public static void main(String args[])
{
// A captura de exceções SQLException em Java é obrigatória para usarmos JDBC.
// Para termos acesso ao objeto con, ele deve ter um escopo mais amplo que o bloco try
Connection con = null;
try
{
// Este é um dos meios para registrar um driver
Class.forName( "org.postgresql.Driver" ).getInstance();
// Registrado o driver, vamos estabelecer uma conexão
con = DriverManager.getConnection("jdbc:postgresql://localhost:5432/postgres","web","web");
// Após estabelecermos a conexão com o banco de dados
// Utilizamos o método createStatement de con para criar o Statement
Statement stm = con.createStatement();
// Vamos executar o seguinte comando SQL :
String SQL = "select ct.contato_tipo as contato, c.dado as dado " +
"from pessoas p, contatos c, contatos_tipos ct" +
"where p.id = c.id_pessoa" +
"and c.id_tipo_contato = ct.id";
// Definido o Statement, executamos a query no banco de dados
ResultSet rs = stm.executeQuery(SQL);
// O método next() informa se houve resultados e posiciona o cursor do banco
// na próxima linha disponível para recuperação
// Como esperamos várias linhas utilizamos um laço para recuperar os dados
while(rs.next())
{
// Os métodos getXXX recuperam os dados de acordo com o tipo SQL do dado:
String tit = rs.getString("contato");
String aut = rs.getString("dado");
//int totalFaixas = rs.getInt("total_faixas");
// As variáveis tit, aut e totalFaixas contém os valores retornados
// pela query. Vamos imprimí-los
//System.out.println(48:"Titulo: "+tit+" Autor: "+aut+"49: Tot. Faixas: "+totalFaixas);
System.out.println(tit + ": " + aut);
}
}
catch(SQLException e)
{
// se houve algum erro, uma exceção é gerada para informar o erro
e.printStackTrace(); //vejamos que erro foi gerado e quem o gerou
}
finally
{
try
{
con.close();
}
catch(SQLException onConClose)
{
System.out.println("Houve erro no fechamento da conexão");
onConClose.printStackTrace();
}
} // fim do bloco try-catch-finally
} // fim da main
[quote=andredecotia]Curiosidade, qual a versão do seu PostGree?
Veja:
package pkg;
import java.sql.*;
class Exemplo1
{
public static void main(String args[])
{
// A captura de exceções SQLException em Java é obrigatória para usarmos JDBC.
// Para termos acesso ao objeto con, ele deve ter um escopo mais amplo que o bloco try
Connection con = null;
try
{
// Este é um dos meios para registrar um driver
Class.forName( "org.postgresql.Driver" ).getInstance();
// Registrado o driver, vamos estabelecer uma conexão
con = DriverManager.getConnection("jdbc:postgresql://localhost:5432/postgres","web","web");
// Após estabelecermos a conexão com o banco de dados
// Utilizamos o método createStatement de con para criar o Statement
Statement stm = con.createStatement();
// Vamos executar o seguinte comando SQL :
String SQL = "select ct.contato_tipo as contato, c.dado as dado " +
"from pessoas p, contatos c, contatos_tipos ct" +
"where p.id = c.id_pessoa" +
"and c.id_tipo_contato = ct.id";
// Definido o Statement, executamos a query no banco de dados
ResultSet rs = stm.executeQuery(SQL);
// O método next() informa se houve resultados e posiciona o cursor do banco
// na próxima linha disponível para recuperação
// Como esperamos várias linhas utilizamos um laço para recuperar os dados
while(rs.next())
{
// Os métodos getXXX recuperam os dados de acordo com o tipo SQL do dado:
String tit = rs.getString("contato");
String aut = rs.getString("dado");
//int totalFaixas = rs.getInt("total_faixas");
// As variáveis tit, aut e totalFaixas contém os valores retornados
// pela query. Vamos imprimí-los
//System.out.println(48:"Titulo: "+tit+" Autor: "+aut+"49: Tot. Faixas: "+totalFaixas);
System.out.println(tit + ": " + aut);
}
}
catch(SQLException e)
{
// se houve algum erro, uma exceção é gerada para informar o erro
e.printStackTrace(); //vejamos que erro foi gerado e quem o gerou
}
finally
{
try
{
con.close();
}
catch(SQLException onConClose)
{
System.out.println("Houve erro no fechamento da conexão");
onConClose.printStackTrace();
}
} // fim do bloco try-catch-finally
} // fim da main
Opa Guevara era isso mesmo que estava precisando. Uma última dúvida, basta isso para realizar a conexão? não é necessário a configuração de algum datasource não?
Precisa do persistence.xml, log4j.xml, hibernate.properties e HibernateUtil, todos configurados.
O persistence fica em /src/META-INF, log4j e hibernate.properties na /src e o HibernateUtil vc coloca no seu pacote DAO do projeto.
Abraço!
Log4j e hibernate.properties vc pega na pasta descompactada do Hibernate que vc baixou do site, lá têm os modelos, só toma cuidado no caso de vc estar usando VRaptor, precisa colocar mais coisa lá, e o HibernateUtil é este aqui:
Exemplo: