Pegar dados do banco e colocar em variável?

quero pegar dados do banco e colocar nas suas áreas respectivas, esta cadastrado no banco o produto uva com valor, quantidade e ID. quero colocar esse campos nas suas áreas de acordo com o dado;

CLASS:

public static void main(String[]args){
    connectionBancoDados con = new connectionBancoDados();
    produtoDAO dao  = new produtoDAO();
    produto bean = new produto();
        
        int id = 0;
        String prod = null;
        int quantidade = 0;
    double valor = 0;

    Scanner x = new Scanner(System.in);
    System.out.println("PRODUTO: "+x);
    prod = x.nextLine();
    
    if (dao.CHECKPRODUTO(prod)) {
      
        id          = bean.getId();
        prod        = bean.getProduto(prod);
        quantidade  = bean.getQuantidade();
        valor       = bean.getValor();
        
    System.out.println("ID: "+id);
    System.out.println("PRODUTO: "+prod);
    System.out.println("QUANTIDADE: "+quantidade);
    System.out.println("VALOR: "+valor);
    }else{
        System.out.println("Iten nao cadastrado");
    }
}

}

SAIDA:

PRODUTO:
uva
ID: 0
PRODUTO: null
QUANTIDADE: 0
VALOR: 0.0

DAO

public List RST(String produto){//Pesquisar
Connection con = connectionBancoDados.getConnection();
PreparedStatement stmt = null;
ResultSet rs = null;

    List<produto> produtos = new ArrayList<>();
    
    try {
        stmt = con.prepareStatement("SELECT id, produto, quantidade, valor FROM produto WHERE produto=?");
        stmt.setObject(1, produto);
       
        
        rs = stmt.executeQuery();//faz consulta noo banco e coloca no resultSet
            
            while(rs.next()){
                produto pro = new produto();
                
                pro.setId(rs.getInt(1));
                pro.setProduto(rs.getString(2));
                pro.setValor(rs.getDouble(3));
                pro.setQuantidade(rs.getInt(4));
                produtos.add(pro);
            }
                
    } catch (SQLException ex) {
        Logger.getLogger(produtoDAO.class.getName()).log(Level.SEVERE, null, ex);
    }finally{
        connectionBancoDados.closeConnetion(con, stmt, rs);
    }
    
    return produtos;
}

BEAN

public class produto {

private int id;
private String produto;
private double valor;
private int quantidade;

    

public int getId() {
    return id;
}

public void setId(int id) {
    this.id = id;
}

public String getProduto() {
    return produto;
}

public void setProduto(String produto) {
    this.produto = produto;
}

public double getValor() {
    return valor;
}

public void setValor(double valor) {
    this.valor = valor;
}

public int getQuantidade() {
    return quantidade;
}

public void setQuantidade(int quantidade) {
    this.quantidade = quantidade;
}


@Override
public String toString() {
    return getProduto();
}
public Object getId(String id) {
    return getId();
}
public String getProduto(String produto) {
    return getProduto();
}
public Object getQuantidade(String quantidade) {
    return getQuantidade();
}
public Object getValor(String valor) {
    return getValor();
}

Passa os valores pro set do objeto.

object.setId(id);

e assim por diante.