Método de 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?

Você pode utilizar o conceito de Connection Factory, procura no Google que tem bastante coisa sobre !

[]s