ResultSet?

6 respostas
H

[color=“darkred”]Hau uahuahuah para todos, bom eu queria saber como e a estrutura( receita de bolo) para se criar um metodo do tipo “ResultSet”. Por que eu estou criando 3 classes, a 1º conecta com o banco de dados e onde tera esse metodo do tipo “ResultSet”, 2º onde crio os metodos de “inserir,atualizar,pesquisar e remover” que chamara o metodo da 1º classe e por fim a 3º classe que sera a classe grafica: [/color]

[color=red”]1º

[color=blue]public ResultSet executarQry(String sql)

{ try{ Statement st = con.createStatement();

ResultSet rs = st.executeQuery(sql);

return rs;

}catch(Exception e){e.printStackTrace();}

}[/color][/color]
[color=blue]

2º

public class CaTurmas{

BDR bd;

public CadTurmas {BDR bd = new BDR();}

public boolean pesquisar(String Cod)

{ String sql = select * from Turma where   codTurma = ‘” + Cod + “‘”;

ResultSet rs = bd.executarQry(sql);

if (rs.next())

return true;

else return false;} [/color]

[color=green]3º

public class SCA{

public static voi main(String[] a)

{

CadTurmas ct = new CadTurmas();

String resultPesq = Dado não encontrado;

if (ct.pesquisar())

resultPesq = Dado encontrado;

System.out.println(resultPesq);[/color]

6 Respostas

_fs

Que bom que se interessa em tentar separar as camadas da sua aplicação. Não sou nenhum expert, mas vamos lá:

public class Conn
{
    private Connection connection;
    
    public static Connection getConnection()
    {
         if( connection == null )
        {
        connection ....
        Class.forName ...
        ...
         return connection;
    }

    public void closeConnection()
    {
        if( connection != null )
       {
             connection.close()
             connection = null;
        }
}
public class TurmasDAO
{
    private Connection conn;

    private Statement stmn;
    private ResultSet rs;

    public void setConnection( Connection conn )
    {
         this.conn = conn;
    }

    public List getTurmas()
    {
          stmn = conn.createStatement();
          rs = stmn.executeQuery( "SELECT * FROM TURMAS" );

          etc...
          List list = ...
          etc...

          stmn.close();
          rs .close()

          return list;
     }

    public Turma getTurmaById( int id )
    {
          stmn = conn.createStatement();
          rs = stmn.executeQuery( "SELECT * FROM TURMAS WHERE ID = " + id );

          etc...
          Turma t = ...
          etc...

          stmn.close();
          rs .close()

          return t;
     }
}
public class Client
{
    public static void main( String[] args )
    {
        TurmaDAO dao = new TurmaDAO()
        dao.setConnection( Conn.getConnection() );

        List l = dao.getTurmas();
        Turma t = dao.getTurmaById( 1 );
    }
}

Sacou o esquema? Claro que você pode aprimorar, criando métodos para transformar o resultset em list, arrumar outro jeito de guardar as instruções SQL, entre outras coisas.

Mas o importante é: sua classe DAO ( no caso, TurmaDAO ) deve apenas acessar os dados. Imagine que você não vai mais usar JDBC direto, mas sim uma camada de persistencia, como por exemplo o Hibernate.
A sua classe cliente (a que chama os métodos da DAO) não vai ter que mudar em absolutamente nada. Isto é muito importante.

Sobre a classe de criação de connection, compre a MundoJava desse mês que tem um exemplo de singleton muito bom.[/code]

H

Sou o cara do RESULTSET, valeu cara isso me ajudou muito…
So não entendi o List pq não pegou???

_fs

Eu entendi a primeira parte da sua frase, mas o resto nem rolou :expressionless:

H

Foi mau mi naum saber digitar,uahuahuahua :slight_smile:

Cara e o siguinte, eu não entendi o metodo de Listar na codificação…
[/code]

Rubem_Azenha

List == Classe que guarda objetos, como se fosse uma “lista”

veja a API: java.util.List

Grinvon

É interessante o conceito de Collections em banco de dados, para assim você armazenar um ou vários registros em uma coleção.

Criado 31 de agosto de 2004
Ultima resposta 3 de set. de 2004
Respostas 6
Participantes 4