Buscar dados no Banco de dados

Estou com duvida de como faço para conseguir acessar os dados da minha aplicação no postgre, fiz pelo modelo dao… Gostaria de que pelo nome conseguir acessar os dados da pessoa. e se o nome não tiver inserido aparecer uma tela de erro.

[code]public List retrieve() throws SQLException {
String comando ="";
try {
Statement stmt = conexao.createStatement();
comando = “select * from cadastro”;
ResultSet rs = stmt.executeQuery(comando);
List listaDeCadastros = new ArrayList();
while (rs.next()) {
Cadastro cadastro = new Cadastro ();
cadastro.setNome (rs.getString(1));
cadastro.setApelido (rs.getString(2));
cadastro.setEmail (rs.getString(3));
cadastro.setCpf(rs.getString(4));
cadastro.setNasc(rs.getString (5));
cadastro.setTel(rs.getString(6));

           listaDeCadastros.add (cadastro);   
     }   
        
     stmt.close();   
     conexao.close();   
     return listaDeCadastros;   
        
  } catch (Exception e) {   
     System.out.println("Erro no Cadastro.List "+ e);   
     return null;   
  }  

public List retrieve() throws SQLException {
String comando ="";
try {
Statement stmt = conexao.createStatement();
comando = “select * from cadastro”;
ResultSet rs = stmt.executeQuery(comando);
List listaDeCadastros = new ArrayList();
while (rs.next()) {
Cadastro cadastro = new Cadastro ();
cadastro.setNome (rs.getString(1));
cadastro.setApelido (rs.getString(2));
cadastro.setEmail (rs.getString(3));
cadastro.setCpf(rs.getString(4));
cadastro.setNasc(rs.getString (5));
cadastro.setTel(rs.getString(6));

           listaDeCadastros.add (cadastro);
     }
     
     stmt.close();
     conexao.close();
     return listaDeCadastros;
     
  } catch (Exception e) {
     System.out.println("Erro no Cadastro.List "+ e);
     return null;
  }[/code]

tipo quero criar uma outra tela para o usuario digitar o nome, psquisar no banco de dados e informar os dados da pessoa…
Desde ja Agradeço!

O tópico foi postado no fórum errado, a dúvida não se refere à java avançado, mas à persistência.
Sugiro que você pesquise sobre a cláusula WHERE.

veja se entende, faço dessa forma:

[code]

public ClientTO consultar(String nome){


	ClientTO clientTO = new ClientTO();

try {

		ResultSet rs = null;   

		con = DAOConexao.getConn(); 


		String sql = " Select * from tb_Clientes where NOMECLI = '" +nome + "'";


		pstm = con.prepareStatement(sql);
		rs = pstm.executeQuery(); 

		if(rs.next()){
			//rs.last();   
			clientTO.setCodigoImprCliente(rs.getString("CodigoImprCliente"));
			clientTO.setNome(rs.getString("NOMECLI"));			
			clientTO.setEndereco(rs.getString("ENDERECOCLI"));
			clientTO.setTel(rs.getString("TELEFONECLI"));
			
		}
		else{
			new Mensagem(null, "Aviso", "Item não localizado", Mensagem.MSG_BOTAO_OK, Mensagem.MSG_ICONE_ERRO);
		}

	}catch(Exception e){
		System.out.println(e.toString());
	}finally{


		try{
			//pstm.close(); 
			//con.close();
		}catch(Exception e){

		}
	}
	return clientTO;
}[/code]

Ja responderam, mais pode ser que pode ser util:

Quanto ao select , em especifico pro Postgre:
http://www.postgresql.org/docs/8.1/static/sql-select.html

E outra que pode ser legal, quando não se trata de uma busca exata do Postgre tbm
http://www.postgresql.org/docs/8.3/interactive/functions-matching.html

sou meio novo em java e nao entendi direito, isso que o lokit"s respondeu ele vai achar os dados mas vai mandar esses dados para aparecer na tela?

[quote=shenn]sou meio novo em java e nao entendi direito, isso que o lokit"s respondeu ele vai achar os dados mas vai mandar esses dados para aparecer na tela?

[/quote]

No post do lokit"s, ele te retorna os dados em formato de objeto(não sei o tipo do objeto), pra exibir, seria o caso de pegar o retorno do metodo e verificar se é valido, caso seja, vc exibe os dado e caso seja uma coleção de dados, usa o for(objeto obj: lista)

veja se entenda agora!

criei outra classe

[code]package controller;

import Model.ClientDAO;
import TO.ClientTO;

public class CadastroClientes {

private ClientDAO dao = new ClientDAO();

// salvar

public boolean salvar(ClientTO to) {
	//quando for salvo 
	
	if (dao.consultaCLiente(to.getNome())){
		
	//	update		
		return dao.alterar(to);
	}else{
		//insert
		return dao.inserir(to);							
	}		
}

//update

public ClientTO consultar(String nome){

	return dao.consultar(nome);

}

//delete

public boolean delete(String cod) {

	return dao.delete(cod);
}

}[/code]

vê se deu pra entender o que esta ocorrendo nesse caso , mas eu não postei o resto do meu DAO, apenas a parte que vc precisava , pois o resto do codigo era delete update

entendi, mas como eu chamo ios resultados para mostrar na tela?