Como melhorar essa conexao java + msql

olá… mais uma vez estou aqui nescessitanto de uma ajudinha da galera… seguinte…
tenho uma classe de conexao… essa:

[code]import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import javax.swing.JOptionPane;

public class conecta {

public conecta() { }
//r1net.ddns.com.br
//localhost
//127.0.0.1
String driver = “com.mysql.jdbc.Driver”; //Classe do driver JDBC
String banco = “bdr”; //Nome do Banco criado
String host = “localhost”; //Maquina onde está o banco
String str_conn = “jdbc:mysql://” + host + “:3306/” + banco; //URL de conexão
String usuario = “root”; //Usuário do banco
String senha = “nalldo36”; //Senha de conexão
Connection conn = null;
public Connection conecta(){
try {
Class.forName(driver); //Carrega o driver
conn = DriverManager.getConnection(str_conn, usuario, senha);
}catch(ClassNotFoundException e){
JOptionPane.showMessageDialog(null,“n Driver não encontrado!\n”+ e,“ATENÇÃO”,JOptionPane.WARNING_MESSAGE);
}catch(SQLException e){
JOptionPane.showMessageDialog(null,“Erro na Conexão com Banco\n”+ e,“ATENÇÃO”,JOptionPane.WARNING_MESSAGE);
} return conn;
} [/code]

Gostaria de melhorá-la de forma que possa ser mais agil e rápida… se possivel não chamala toda vez q for consultar, gravar, atualizar etc…

está chamando assim:

private void inserir(){ conecta conexao = new conecta(); try{ Connection conn = conexao.conecta(); String sqlinsert = "insert into tbl_agenda_telefonica(CODIGO, DESCRICAO, OBSERVACAO, FONE_COM1, FONE_COM2, FONE_CELULAR, FONE_RESIDENCIAL) values (?,?,?,?,?,?,?)"; PreparedStatement stmt = conn.prepareStatement(sqlinsert); stmt.setString(1,txtCodigo.getText()); stmt.setString(2,txtDescricao.getText()); stmt.setString(3,txtObs.getText()); stmt.setString(4,ftxComercial1.getText()); stmt.setString(5,ftxComercial2.getText()); stmt.setString(6,ftxCelular.getText()); stmt.setString(7,ftxResidencial.getText()); stmt.executeUpdate(); stmt.close(); conn.close(); txtCodigo.grabFocus(); } catch (SQLException e) { JOptionPane.showMessageDialog(this, "Erro ao inserir condicional... " + e.getMessage()); } }

Olá,

Cria uma classe singleton (apenas uma instancia permitida).
No construtor crie o objeto de conexao (isso sera realizado apenas uma vez).

sempre que precisar usar o objeto de conexar, recupere o objeto singleton e chame o metodo que desejar.

Eh uma implementacao bastante comum, acredito que voce ache exemplos facilmente no google.

Abraço!

Use uma connection pool, como essa: http://commons.apache.org/dbcp/

vou verificar as duas dicas… agredeço pela atenção… valew :smiley:

pessoal procurei aqui no guj e no google e ainda nao encontrei como criar um pool de conexão
pude ver que pool de conexao e uma boa opção
como eu posso iniciar a desenvolver esse pool de conexao… obrigado :roll:

[quote]pessoal procurei aqui no guj e no google e ainda nao encontrei como criar um pool de conexão
pude ver que pool de conexao e uma boa opção
como eu posso iniciar a desenvolver esse pool de conexao… obrigado [/quote]