Duvida sobre DriverManager.getConnection

6 respostas
J

gostaria de saber se toda vez que for utilizar o procedimento DriverManager.getConnection o DriveManager ira criar uma nova conexao com o banco de dados?

Se ele se conectar toda vez que for executado nao a queda de performace?

6 Respostas

J

acho que se o jdbc verificar que ja existe uma conexao ele lança um SQLException, não?!?!?
nunca fiz o teste, mas acho que ele não tenta se conectar de novo…
alquem que sabe mais que agente esclarece ai por favor…
flw

W

Cara sempre faço essa verificação na mão, sempre que for buscar uma conexão eu faço um teste se a conexao e true, caso seja ele retorna a conexão ativa, caso não ele cria uma nova conexão

J

blz, era isso que eu queria saber.

poderia postar um exemplo dessa verificação se nao for pedir demais? :grin:

W

Beleza, eu tenho uma classe de conexão chamada DBCP onde eu crio minhas conexoes com o banco, nela eu tenho uma váriavel static representando a própria classe: private static Dbcp instance = null; quando eu crio uma conexão eu a coloco relacionada a variavel instance e toda vez que for buscar a conexão eu faço este teste: public static Dbcp getInstance() { if(instance == null) { instance = new Dbcp(); } return instance; }
Entendeu qualquer coisa poste ai novamente.
Obs.: Está classe é responsável apenas por criar conexões ela utiliza o pattern singleton onde é instanciada apenas uma vez no sistema se o sistema não gerar nenhuma exception, caso gere ele derruba a instancia e cria outra no mesmo momento. Para manipulação dos dados que viram do banco eu tenho uma outra classe.

J

Tem algum material sobre singleton para indicar?

J

independente de onde eu instanciar a classe, ela ira manter sempre manter o valor do OBJETO INSTANCE.

a ideia nao seria, toda vez que eu instancio uma classe, criar todas as variaveis novamente?

Criado 9 de junho de 2005
Ultima resposta 16 de jun. de 2005
Respostas 6
Participantes 3