Melhor forma para JDBC

Pessoal, o que seria melhor:
a cada requisição ao banco abrir e em seguida fechar a conexão?
criar uma propriedade static da propria classe(DAO) e assim tota requisição usar apenas um objeto para acessar o banco?
deixar uma conexão sempre aberta?

vlw pessoal.

Isso depende.
Mas se eu qrer apenas uma conexão crio um sigleton.
Agora se terei mais conexões, utilizaria um pool de conexões, que ele irá gerenciar as conexões para mim.

falow

não sei muito de padrões a não ser MVC-DAO, mas…
o singleton é criar apenas um caminho, uma única opção para o que se quer?
e esse pool de conexão, o que seria? como faria?

[quote=daquinho]não sei muito de padrões a não ser MVC-DAO, mas…
o singleton é criar apenas um caminho, uma única opção para o que se quer?
e esse pool de conexão, o que seria? como faria?[/quote]

Singleton é design pattern, ele te garante q haverá apenas uma instancia de um determinado objeto.
No caso da conexão o singleton garantia q só haveria uma conexão.
Os pools são um conjuto de conexões, que alguem irá gerenciar para vc. Ous seja vc define a qntdade de conexões q haverá como default. e se precisar de mais o será criada, e depois destruida. etc… blabla e ai vc não precisa se preocupar com as conexões.

http://tomcat.apache.org/tomcat-5.5-doc/jndi-datasource-examples-howto.html#Database%20Connection%20Pool%20(DBCP)%20Configurations

existe outra vantagem do singleton, além de ter apenas uma instância de um objeto? ou simplesmente mais uma forma de desenvolver?
esse spool de conexão parece indicado quando se quer limitar o número de acessos, é isso mesmo?

[quote=daquinho]existe outra vantagem do singleton, além de ter apenas uma instância de um objeto? ou simplesmente mais uma forma de desenvolver?
esse spool de conexão parece indicado quando se quer limitar o número de acessos, é isso mesmo?[/quote]
nem, nem o Singleton é uma coisa e o Pool é outra.
O singleton é o padrão q garante uma unica instancia.
Ou seja q eu qro é apenas uma instancia. Se utilizar o Singleton para gerenciar uma connection, terei apenas uma.
Já o Pool não, o nome é bem sugestivo.
Bom acho q isso exclare sua duvida.
http://onjava.com/onjava/2006/04/19/database-connection-pooling-with-tomcat.html

Com o pool eu não preciso me preocupar, em abrir e fechar minhas connections.

Singleton:
http://yoshikichi.wordpress.com/2008/11/07/singleton/