Dúvida com Classes de Conexão com Banco de Dados

Boa Noite

Estou desenvolvendo um sistema para uma média de 50 a 200 usuários, desenvolvi duas classes de conexão para testar:

1º) Classe utilizando o design pattern singleton, onde a classe de conexão seria instancia apenas uma vez e todos os usuários utilizariam a mesma conexão, para evitar que a cada requisição seja aberta uma nova conexão com o banco de dados.

2º) Classe convencional, onde a cada transação a é aberta uma conexão e após o fim a transação o método close() é chamado através do finally do bloco try/catch/finally, dessa forma a cada requisição com banco é aberta uma conexão e fechada logo em seguida.

Gostaria de informações sobre qual dessas seria melhor de usar…

Valeu.

Opa, boa pergunta, tenho a mesma dúvida, quem puder esclarecer…

So para citar sempre usei o segundo metodo(cria conexao - manda comando sql - fecha conexao)

Eu usaria uma terceira um pool de conexões…

Sem dúvida, como o colega LuizClaudio falou, é muito melhor usar um pool de conexões.

Aí você tem duas opções: usar o pool de conexões fornecido pelo fabricante do driver de conexão, ou utilizar um pool genérico como o C3P0, o que é muito melhor porque o pool é o mesmo independentemente do driver.

Mas o melhor de tudo seria mesmo usar Hibernate.

Boa tarde

Valeu pessoal, também pensei em usar hibernate mas o esse projeto onde vou participar deve ser em JBBC mesmo, será que alguém já utilizou a conexão baseada em uma unica instancia para o sistema inteiro, essa conexão seria a 1º Opção de que falei logo acima, onde ela é baseada no pattern singleton?

Valeu

Cara, na minha opinião ( e de muitos outros aqui ) aplicar singleton em conexão com banco de dados não é interessante. Use o pool, já está tudo pronto e é simples de usar. Além de tudo, é muito mais escalável, pois se um dia você perceber que precisa de mais conexões, basta ajustar os parâmetros do pool e pronto.

Boa tarde

Valeu tarso, vou ver a possibilidade de implementar um pool de conexões, só ainda estou na dúvida pois o JDBC tradicional é especificação do sistema, vou ver direito antes de fazer a parte de banco, então pelo que vi no forum implantar o singleton na classe de conexão não seria uma boa no meu caso.

Valeu…

Falou.

cara pq vc nao usa hibernate ?
vai te economizar tempo…
e trabalho…
e vai diminuir centanas de linhas de codigo