Arquitetura para SQL

1 resposta
rocha

Pessoal depois da ajuda do Daniel e do Rafael e uma leitura no artigo do Paulo Silveira(retirando o sql do seu código java). criei a seguinte arquitetura eu queria q vc dessem uma olhada e me dissem se é valida:

Bom tenho essas classes
public class GerSql {
 
     protected Properties qry;
 
     // nao deveria estar hardcodado:
    // protected static GerSql gerSql = new GerSql("arquivoMysql.txt");
 
     public GerSql(String arquivo) {
         qry = new Properties();
         // le as sqls e guarda!
         try {
            qry.load(new FileInputStream(arquivo));
         }
         catch (Exception e){
             String erro =  (String)e.getMessage();
         }
     }
     
     public PreparedStatement getPreparedStatement(Connection cx, String queryName) throws SQLException {
        
         String qry = this.qry.getProperty(queryName);
         
        return cx.prepareStatement(qry);
    }
 
 }
public class Pessoa extends Geral{ 

......

 //Método Cadastrar
    public boolean exQuery(String qryName, ArrayList par){
        GerSql ger = new GerSql("arqSql.txt");
        try {
           
            PreparedStatement ps = ger.getPreparedStatement(conexao, qryName);
            while (n < par.size()){
                ps.setString((n+1), (String)par.get(n)); 
                n++;
            }
            
            ResultSet rs = ps.executeQuery();		
        }
        catch ( SQLException e){
            erro = e.getMessage();
        }
        return true;
    }// fim cadastrar

e finalmente a Classe Cliente

public Cliente(Connection cx){ 
        super(cx);
    }    
    
    //Método Cadastrar 
    public boolean cadastrar(){
        query = prop.getProperty("cliente.insert");
        
        parList.add((String)id.get(0));
        parList.add((String)idEmpresa.get(0));
        parList.add((String)descricao.get(0));
        parList.add((String)cnpj.get(0));  

        exQuery(query, parList);  	
	return true;
    }// fim cadastrar

O q acham?

Estou indo pelo caminho certo?

a classe pessoa usarei para contato, empresa, etc....

:roll:

1 Resposta

cv1

Eh… humm… mais ou menos o caminho certo. Voce vai querer dar uma boa lida nessa thread: http://www.guj.com.br/posts/list/20668.java

Resumindo: trate melhor suas excecoes, pense em OO, melhore o tratamento dos recursos (quem abriu fecha), e reduza as dependencias entre as classes. :wink:

Criado 11 de março de 2005
Ultima resposta 11 de mar. de 2005
Respostas 1
Participantes 2