Select no BD com java[RESOLVIDO]

3 respostas
R

Olá pessoal, preciso fazer um SELECT no banco, mas a query está assim :

select x.cod_voo,
       x.cid_origem_aeropporto,
       x.cid_destino_aeroporto,
       z.cid_aeroporto_escala,
       z.cid_aeroporto_escala2,
       p.nome_classe,
       x.dia_hora_embarque,
       y.dia_hora_chegada_destino,
       y.tempo_estimado_voo,
       w.valor_voo_escala

from voos x,
     voos_escalas y,
     escalas z,
     voo_escala_classe w,
     classe p
     
where x.cid_origem_aeropporto = y.cid_origem_aeropporto
      and x.cid_destino_aeroporto = y.cid_destino_aeroporto
      and x.dia_hora_embarque = y.dia_hora_embarque
      and y.cod_escala =  z.cod_escala
      and y.cod_voo_escala = w.cod_voo_escala
      and w.cod_classe = p.cod_classe;

como faço isso no JAVA ?
PS: estou utilizando Oracle.
Se alguem ajudar
Valeuu

3 Respostas

francislon

A API em Java referente à acesso em bancos de dados se chama JDBC. Dá uma olhada nesse artigo:

http://docs.oracle.com/javase/tutorial/jdbc/index.html

E diz se teve alguma dúvida.

joaoabi

cara vo te da a mesma dica que me deram aqui ,
da uma lida em padrão de projetos procura sobre JDBC, DAO
vai te dar uma ideia legal de conexao, banco e etc…

R

Não sei se é a forma correta mas consegui fazer dessa forma :

public static ArrayList<Voos> listarVoos() {

        ArrayList<Voos> voos = new ArrayList<Voos>();
        Statement stmt = null;
        
        try {
            sql =   "SELECT  voos.cod_voo, voos.cid_origem_aeropporto, voos.cid_destino_aeroporto, escalas.cid_aeroporto_escala, escalas.cid_aeroporto_escala2, classe.nome_classe, voos.dia_hora_embarque, voos_escalas.dia_hora_chegada_destino, voos_escalas.tempo_estimado_voo, voo_escala_classe.valor_voo_escala" 
                    + " from voos, voos_escalas, escalas, voo_escala_classe, classe"                    
                    + " where voos.cid_origem_aeropporto = voos_escalas.cid_origem_aeropporto and"
                    + " voos.cid_destino_aeroporto = voos_escalas.cid_destino_aeroporto and "
                    + " voos.dia_hora_embarque = voos_escalas.dia_hora_embarque and"
                    + " voos_escalas.cod_escala =  escalas.cod_escala and"
                    + " voos_escalas.cod_voo_escala = voo_escala_classe.cod_voo_escala and"
                    + " voo_escala_classe.cod_classe = classe.cod_classe" ;
                   
            stmt = Conexao.conn.createStatement();
            ResultSet rs = stmt.executeQuery(sql);
            while (rs.next()) {
                // rs tem muitos métodos como getString(), getInt(), getFloat() ....
                int cod = rs.getInt("cod_voo");
                String cid_origem = rs.getString("cid_origem_aeropporto");
                String cid_destino = rs.getString("cid_destino_aeroporto");
                String cid_aero_escala = rs.getString("cid_aeroporto_escala");
                String cid_aero_escala2 = rs.getString("cid_aeroporto_escala2");
                String nome_classe = rs.getString("nome_classe");
                String dia_hora_embarque = rs.getString("dia_hora_embarque");
                String dia_hora_chegada = rs.getString("dia_hora_chegada_destino");
                String tempo_estimado = rs.getString("tempo_estimado_voo");
                float valor = rs.getFloat("valor_voo_escala");
                               
                Voos v = new Voos(cod, cid_origem, cid_destino,cid_aero_escala,cid_aero_escala2,nome_classe,dia_hora_embarque,dia_hora_chegada,tempo_estimado,valor);
                voos.add(v);
            }
        } catch (SQLException ex) {
            System.out.println(ex.toString());
        } catch (Exception ex) {
            System.out.println(ex.toString());
        }

        return voos;
    }

valeuu

Criado 29 de maio de 2012
Ultima resposta 30 de mai. de 2012
Respostas 3
Participantes 3