Conexão JAVA, estaria correto desta forma?

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!!!

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

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

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