Singleton? [RESOLVIDO]

4 respostas
pedroroxd

Pessoal,
Eu faço conexão com banco de dados que fica na web (demora 1 pokin a +), toda hora que eu abro o frame (para mostrar a tabela) , quando cadastro ou excluo.
Eu tenho 4 frames que utilizam a conexão com o banco de dados, e todos eles tem cadastro e exclusão.... Ou seja, eu utilizo de mais o "ConectaBanco" ( A classe que faz a conexão com o bd).

Para criar a tabela eu preciso fazer a conexão:
ConectaBanco k = new ConectaBanco();
   Connection conec = null;
   conec = k.conecta();
   criatabelao(conec, modelo);
Para cadastrar e excluir no banco de dados também. Ae está o cadastro:
ConectaBanco c = new ConectaBanco();
        Connection conec = null;
        conec = c.conecta(); 
            insertCliente(conec, Inome, Icpf, Iendereco, Itelefone, Iemail, Ilogin, Isenha);
            refreshtabela(); //é o que tem acimaa (ele conecta no banco, e preenche a tabela novamente)
Eis a classe ConectaBanco:
public class ConectaBanco {

    public Connection conecta() throws ClassNotFoundException, SQLException {
    Connection connection = null;

        String driverName = "org.gjt.mm.mysql.Driver"; 
        Class.forName(driverName);

        String url = "jdbc:mysql://restshow.no-ip.biz:3306/programa";
        connection = DriverManager.getConnection(url, "usuario", "seha");

        return connection;      
    } 
}

[color=red]PERGUNTA: [/color]Seria mais vantajoso usar Singleton no ConectaBanco (em vez de ficar dando NEW toda hora) ?

4 Respostas

ncm

Com certeza…

:wink:

jgbt

A melhor maneira é configurar um DataSource e deixar o conatiner web gerenciar as conexões p/ vc.

[]´s

pedroroxd

fmz…
Vlw aee…
Vo arrumar aki inton =)

Paulo_Silveira

Sem duvida abrir conexao toda hora vai te trazer problemas. Um singleton tambem: uma unica conexao para toda aplicacao?

O melhor é, como falaram, um DataSource, que por baixo use um pool de conexao. E o ideal é voce pegar essa conexao atraves de injecao de dependencia, ou no minio atraves de uma factory.

Criado 14 de outubro de 2009
Ultima resposta 14 de out. de 2009
Respostas 4
Participantes 4