Classe conecta criando varias conexões simultâneas por causa de uma verificação eu acho

Toda vez que estou chamando a classe para conectar eu chamo pelo método getConexao() nele era para verificar se já tem uma conexão e se não tiver criar e se tiver só retorná-la mais mesmo que tenha conexão ela entra no else que cria outra alguém me da uma ajuda de como fazer essa verificação correta.

package banco_dados;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

public class conecta {

   private static Connection conexao;

private static Connection criaConexao() {
    String url = "jdbc:postgresql://localhost:5432/postgres";
    String usuario = "postgres";
    String senha = "***";
    try {
        Connection aux = DriverManager.getConnection(url, usuario, senha);
        //System.out.println("OK");
        return aux;
    } catch (SQLException e) {
        System.out.println(e.getMessage());
        return null;
    }
}

public static Connection getConexao() {
    if (conexao != null) {
        return conexao;
    } else {
        return criaConexao();
    }
}

public static void fechaConexao() {
    conexao = null;
}

}

bom vc cria a conexão mas não inicializa a variavel global conexao antes de retorna-la.

ai fica dificil :slight_smile:

Muito obrigado foi uma desatenção minha já corrigi e deu certo!