Criar um Controller e imprimir isso na tela principal

Galera eu sou muito novo em java, faz apentas 1 mes e meio eu tenho um classe que Dao pra produto que faz um list dessa forma:

public class ProdutoDao extends GenericDao {

public List<Produto> findProdutos() throws SQLException{
	List<Produto> produtos = new ArrayList<Produto>();
	
	String select = "select * from produto order by id";
	
	PreparedStatement stmt = 
			getConnection().prepareStatement(select);
	
	ResultSet rs = stmt.executeQuery();
	
	while(rs.next()){
		Produto produto = new Produto();
		produto.setId(rs.getLong("id"));
		produto.setDate(rs.getDate("dtCadastro"));
		produto.setUnidade(rs.getString("unidade"));
		produto.setNome(rs.getString("nome"));
		produto.setPrecoCusto(rs.getFloat("precoCusto"));
		produto.setLucro(rs.getFloat("lucro"));
		produto.setPrecoVenda(rs.getFloat("precoVenda"));
		produto.setEstoque(rs.getString("estoque"));
		produtos.add(produto);
	}
	rs.close();
	stmt.close();
	return produtos;
}
}

Como crio em uma classe controller que busque apenas o campo nome?
Como colocar na classe principal para que imprima todos os dados da coluna NOME?
Alguem pode me ajudar?

Boa tarde amigão, beleza ? Cara da forma que está sua query aí select * from, não vai filtrar apenas por nome e sim todos os campos da sua tabela, se você está usando JSF e querer imprimir essa lista em um DataTable, é simples é só instanciar o objeto em seu ManagedBean, daí passar no JSF a sua lista. Acho que este tópico pode te ajudar :wink:

Eu fiz dessa forma

public class ProdutoDao extends GenericDao {
public static List<Produto> getProduto(){
		List<Produto> produtos = new ArrayList<Produto>();
		Connection con = null;
		try{
			con = conexao.getConnection();
			Statement stmt = con.createStatement();
            ResultSet rs = stmt.executeQuery("select nome from produto");
            while (rs.next()) {
            	Produto p = new Produto();
            	p.setNome(rs.getString("nome"));
            }
		}catch(Exception e){
			// System.out.print("Não foi possível fazer a conexão com o banco");
	           e.printStackTrace();
		} return produtos;
	}

na tela principal:

public List<Produto> getLista() {
        ProdutoDao dao = new ProdutoDao();
        this.lista = dao.getProduto();
       for(Produto p : this.lista){
           this.lista.add(p);
             System.out.println(p.getNome());
        }    return lista;
    }
	
    public void setLista(List<Produto> lista) {
        this.lista = lista;
    }

num botao de assao eu coloquei isso mas nao imprime nada

JButton btnNewButton = new JButton("New button");
		btnNewButton.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent arg0) {
				getLista();
			}
		});
		btnNewButton.setBounds(6, 24, 89, 23);
		contentPane.add(btnNewButton);

Amigão, dá uma olhadinha neste tópico:
http://www.guj.com.br/t/como-exibir-resultados-de-uma-lista-em-uma-tela/235753/2

1 curtida