Dúvida iniciante BD (PostgreSQL)

Boa noite.

Galera é o seguinte, minha classe Main esta assim:

    public static void main(String[] args) throws ClassNotFoundException, SQLException {
        Class.forName("org.postgresql.Driver");
    	Connection conn = DriverManager.getConnection("jdbc:postgresql://localhost:5432/Sistema_Voos","postgres",senha);
        Statement stm = conn.createStatement();
        new JLogon(stm);
    
    }

}

Ou seja, ela carrega o JDBC e chama a janela JLogon passando o Statement para o Construtor, até ae blz…
O problema… é que futuramente outras janelas terão que chamar esta mesma janela JLogon e consequentemente terão que passar o mesmo Statement que está na classe Main, então eu teria que passar esse Statemenent também para os construtores dessa classe… o que tornaria meio “sujo”.

Uma das soluções que pensei, foi criar uma classe BD onde fizesse essas operações envolvendo BD, dae se quisesse chamar estas janelas onde precisasse utilizar BD, como no casa de um Login, utilizaria esta classe…

bem, viu que ainda sou iniciante… então gostaria de alguma coisa mais “madura” como solução, visto que vocês possuem bem mais experiência do que eu.

Abraço!

Cria uma classe ConnectionFactory e nela crie um método estático createConnection.

Dê uma olhada <a href+“http://www.guj.com.br/posts/list/74360.java”>aqui também.