Conexão JAVA, estaria correto desta forma?

2 respostas
J

Pessoal, criei uma conexão Java para se interagir com meu futuro aplicativo (só estou aprendendo na verdade), li num artigo que ficaria um pouco incorreto eu fazer a busca ou então criar o bd na p´ropria conexão, então oque eu poderia estar eliminando deste código aqui de baixo para ficar “mais correto”?? :eek:

import java.sql.*; 

class ConectandoMySql 
{ 
   public static void main(String args[]) 
   { 
      Connection con = null; 

      try 
      { 
         //registrando o driver 
         Class.forName("com.mysql.jdbc.Driver"); 

         //estabelecendo uma conexão 
         con = DriverManager.getConnection("jdbc:mysql:meusCdsDb","conta","senha"); 

         Statement stm = con.createStatement(); 

         String SQL = "SELECT titulo , autor from meusCds"; 

         ResultSet rs = stm.executeQuery(SQL); 

         while(rs.next()) 
            { 
                String tit = rs.getString("titulo"); 
                String aut = rs.getString("autor"); 


                  System.out.println("Titulo: " + tit +" Autor: "+ aut); 
                  } 

        } 
        catch(Exception e) 
        { 
           e.printStackTrace(); 
        } 
      finally 
      { 
         try 
         { 
            con.close();
         } 
         catch(SQLException onConClose) 
         { 
             System.out.println("Houve erro no fechamento da conexão"); 
             onConClose.printStackTrace(); 
         } 
      } 
      } 
}

Obrigado a todos!!!

2 Respostas

M

Leia sobre o padrão de projeto DAO (Data Access Object)

http://java.sun.com/blueprints/corej2eepatterns/Patterns/DataAccessObject.html

S

Para simplificar sua Classe basta criar uma classe só para a conexao e outra para as Açoes SQL.

Classe Conexao

import javax.swing.;
import java.sql.
;

public class Conexao {

//Declaração de Objetos
public static Connection con;
private String url = "jdbc:mysql://localhost:3306/test";

public Conexao() {
    try{
        Class.forName("org.gjt.mm.mysql.Driver");
        con = DriverManager.getConnection(url);
    }
    catch(ClassNotFoundException e){
        JOptionPane.showMessageDialog(null,"Erro1");
        System.exit(0);
    }
    catch(SQLException e){
        JOptionPane.showMessageDialog(null,"Erro2");
        System.exit(0);
    }  
}

}

Classe SQL

import javax.swing.;
import java.sql.
;

public class MetodosSql {

//declaração de objetos e variaveis
private Connection con = Conexao.con;
private Statement stm;

//construtor
public MetodosSql() {
    try{
        stm = con.createStatement();
    }
    catch(SQLException e){
        JOptionPane.showMessageDialog(null,"Erro3");
        System.exit(0);
    }
}

//Busca por login e senha
public void verificarSenha(String login, String senha){
    try{
        ResultSet rs = stm.executeQuery("select * from teste where login = '"+login+"' and senha = '"+senha+"'");
     }        }
    catch (SQLException e){
        JOptionPane.showMessageDialog(null,"Erro4");
        System.exit(0);
    }
}

Ok!!!

Robert de Souza

Criado 5 de novembro de 2004
Ultima resposta 16 de nov. de 2004
Respostas 2
Participantes 3