Estou tendo muita dificuldade em conectar o JAVA com o postgresql. Eu pesquisei, e encontrei um código-fonte que faz essa conexão com o banco de dados, mas to um pouco no escuro, sobre onde eu localizo o meu Database, meu usário e minha senha.
Abaixo segue o exemplo em java para a conexão com o banco:
importjava.sql.Connection;importjava.sql.DriverManager;importjava.sql.SQLException;importjavax.swing.JOptionPane;publicclassMain{publicstaticvoidmain(String[]args){Stringdriver="org.postgresql.Driver";Stringuser="postgres";Stringsenha="minhasenha";Stringurl="jdbc:postgresql://localhost:5432/Databases";try{Class.forName(driver);Connectioncon=null;con=(Connection)DriverManager.getConnection(url,user,senha);JOptionPane.showMessageDialog(null,"Conexão realizada com Sucesso!");}catch(ClassNotFoundExceptionex){System.err.print(ex.getMessage());}catch(SQLExceptione){System.err.print(e.getMessage());}}}
OBS: No momento da execução, ele não me exibe a mensagem:
[color=darkred]FATAL: database “Databases” does not existCONSTRUÍDO COM SUCESSO (tempo total: 0 segundos)
[/color]
Inclusive, eu baxei em um site o jdbc.jar do postgresql para a conexão, fui em propriedades e adicionei a biblioteca também.
Mas, agora eu não to conseguindo utilizar o método .executeQuery(“consulta”);
Class.forName(driver);Connectioncon=null;database=JOptionPane.showInputDialog("Informe o Bando de Dados: ","DataBank");con=(Connection)DriverManager.getConnection(url+database,usuario,senha);Statementsq_stmt=(Statement)con.createStatement();query="SELECT * FROM ALUNO";ResultSetrs=sq_stmt.executeQuery(query);
Alguém sabe se isso significa que meu arquivo .jar do jdbc (PostrgeSQL), não está importado, pois eu cliquei com o botão direito no projeto e importei na biblioteca, só adicionei o arquivo.
Alguém sabe me ajudar?
M
Mateus_Avelar
Qual o erro?
D
daniferreira
naquela sua primeira resolução ali estava faltando a biblioteca do postgree.
F
fernandopaiva
bem, eh o seguinte…da uma lida na apostila FJ21 da Caelum na parte de DAO, não é recomendado usar Statement, use PreparedStatement…Leia a apostila na parte q falei q vai entender.
E ja q vai ler a FJ21 leia tbm a FJ11.
veja o codigo.
//aqui eu uso mysql mas eh a mesma coisa para outros bancos.publicclassConexaoBD{publicstaticConnectiongetConnection()throwsSQLException{try{Class.forName("com.mysql.jdbc.Driver");returnDriverManager.getConnection("jdbc:mysql://xxx.xxx.xxx.xxx/mybd?user=eu&password=eu");}catch(ClassNotFoundExceptione){JOptionPane.showMessageDialog(null,e.getMessage());thrownewSQLException();}}}//aqui vc faz o beanpublicclassClientes{privateLongid;privateStringnome;privateStringsobreNome;//get e sets}//aqui vc faz o DAO, q vc vai saber o q eh lendo a apostila FJ21publicclassClientesDAO{privateConnectioncon;ClientesDAO()throwsSQLException{//construtor da classe assim sempre vc vai ter uma conexaothis.con=ConexaoBD.getConnection();}publicList<Clientes>retornaConsultaClientes()throwsSQLException{List<Clientes>lista=newArrayList<Clientes>();PreparedStatementstm=this.con.prepareStatement("SELECT * FROM clientes");ResultSetrs=stm.executeQuery();while(rs.next()){Clientescli=newClientes();cli.setId(rs.getLong("id"));cli.setNome(rs.getString("nome");cli.setSobrNome(rs.getString("sobrenome"));lista.add(cli);}rs.close();stm.close();returnlista;}}
Novamente, leia a FJ21 na parte de DAO e tbm leia a FJ11 q vai te ajudar muiiito.
t+ e boa sorte.
A
alPires
Cara,
Vou verificar hoje. Mas algo que me deixou curioso e acredito ser o principal motivo de eu não conseguir.
O usuário daniferreira disse: "naquela sua primeira resolução ali estava faltando a biblioteca do postgree. ", ou seja, eu tenho que acrescentar a biblioteca. Ex:
import (…)
Seria a falta da “chamada” dessa biblioteca? Se sim, qual é o nome do import?
Att.
Antônio
A
alPires
Caros,
Achei qual era o “Erro”. Na verdade o meu import estava errado. Ele estava: