Dúvida simples (para vcs :D ) sobre JDBC

Olá pessoal, faz + ou ? 2 horas desde que conheci o JDBC. Já aprendi algumas coisas mas ainda não consegui achar uma maneira QUE FUNCIONE para poder ler as tabelas no meu PostgreSQL.

Tenho no postgre a tabela ?clientes? (sem aspas) com os campos:
codigo, nome, sobrenome, endereco, cidade

O código que uso para conectar é:

import java.sql.*;
import javax.swing.*;

public class conectar {
    

public void conecta(){
        try{
            
            String porta = "5432";
            String nomeDoBanco = "postgres";
            String ip = "localhost";
            String usuario = "postgres";
            String senha = "123";
            
            String fonte = "jdbc:postgresql://" + ip + ":" + porta + "/" + nomeDoBanco;
            Class.forName("org.postgresql.Driver");
            Connection con = DriverManager.getConnection(fonte, usuario, senha);
        }
        catch(ClassNotFoundException e){
            JOptionPane.showMessageDialog(null, "Erro em ClassNotFoundException: " + e.getMessage());
        }
        catch(SQLException e){
            JOptionPane.showMessageDialog(null, "Erro no SQL: " + e.getMessage());
        }
        catch(NoClassDefFoundError e){
            JOptionPane.showMessageDialog(null, "Erro em NoClassDefFoundError: " + e.getMessage());
        }

}

public static void main (String[] args) {
    conectar a1 = new conectar();
    a1.conecta();
}


}

Eu gostaria de saber como eu faço para salvar os valores do 1º registro (cujo codigo é 0001) da minha tabela clientes em Strings. Será que alguém pode me ajudar?

Se alguém tiver um link de tutorial que FUNCIONE, poderia postar aqui por favor?

Obrigado

Olá
Aproveitando seu código, estarie melhorando somente a parte do main para inserir registro no banco de dados… isso serve para qualquer banco de dados.


 public static void main (String[] args) {  
     conectar a1 = new conectar();  
     Connection con = a1.conecta();  

    // cria um preparedStatement
   String sql = "insert into clientes(codigo,nome,sobrenome,endereco,cidade) values (?,?,?,?,?)";
   
    PreparedStatement stmt = con.prepareStatement(sql);
    // preenche os valores
    stmt.setString(1, "001");
    stmt.setString(2, "Thiago");
    stmt.setString(3, "Filadelfo");
    stmt.setString(4, "R. X");
    stmt.setString(5, "São Paulo");

    // executa
   stmt.execute();
   stmt.close();
   
    System.out.println("Gravado!");
    con.close();
 }

Se você quiser aprofundar mais neste aspecto, existe uma apostila da Caelum, link

Espero ter ajudado
Flwsss

Olá , queria primeiramente agradecer pela ajuda mas não ta funcionando aqui. Tem um erro na parte:

Connection con = a1.conecta();  

Não sei pq, o erro é:

Exception in thread "main" java.lang.RuntimeException: Uncompilable source code - incompatible types
found   : void
required: java.sql.Connection
        at conectar.main(conectar.java:36)
Java Result: 1

Queria dizer que eu tenho importado o Java.sql.*;

Alguém sabe o problema?

Olá
É que não tinha visto, mas sua classe conectar, o metodo conectar deve retornar um Connection, como segue:

public Connection conecta(){....   }

Espero ter ajudado
FLwsss

[quote=thiago.filadelfo]Olá
É que não tinha visto, mas sua classe conectar, o metodo conectar deve retornar um Connection, como segue:

public Connection conecta(){....   }

Espero ter ajudado
FLwsss[/quote]

Obrigado, agora não tenho como testar pois não estou em casa, mas quando chegar eu testo e dou um retorno aqui.