Método para conexão com o BD

Estou desenvolvendo um software desktop em java, tenho a seguinte dúvida:

Como eu devo fazer a conexão com o BD?

Pois, tenho várias “telas” de cadastro, tipo cadastro de cliente, de produtos, etc, se eu for instanciar uma suposta classe “conexao” em cada uma destas telas (JFrame) terei diversas conexões com o banco ou ficarei abrindo e fechando conexões, o que não me parece correto. O que eu acho certo é, ao iniciar o programa, instanciar uma conexão e depois utilizar somente esta, mas não estou conseguindo fazer isto, alguém pode me ajudar?

Amigo,
A regra básica é manter a conexão aberta somente pelo tempo que vc precisa dela. Vc só deverá abrir uma conexão imediatamente antes de acessar o banco de dados, e fechá-la assim que terminar de acessar o banco de dados.

Tome cuidado com qualquer código que não seja relacionado ao banco de dados e que seja executado enquanto a conexão estiver aberta. As conexões mantêm abertos recursos valiosos para o banco de dados, consomem memória e podem bloquear dados, o que faz com que outras pesquisas se tornem mais lentas. Por isso, é melhor abrir as conexões mais tarde e fechá-las o mais cedo possível.

Isso q estou falando são boas práticas, fica a seu critério trabalhar assim ou não … isso tb vai depender da demanda que vc terá de acesso ao BD. Quer dizer que se você tiver baixa demanda, não verá diferença em performace, mas se a demanda for alta, ai sim isso torna-se significativo no desempenho de acesso ao BD.

E vc vai precisar instanciar a classe de conexão … ou criar um método de conexão em cada classe que fará acesso.

Espero ter ajudado …

Cara, ajudou muito, a idéia que eu tinha era equivocada, postei isto aqui e em outros foruns também, todos falaram basicamente isso que vc explicou.
No meu caso específico o BD não teria problemas de desempenho, mas é sempre bom seguir boas práticas.
Valew