Conexao

6 respostas
M

Galera eu estou com uma dúvida sobre como fazer uma conexão com banco de dados, a minha dúvida não é com os comandos e sim com a implementação.
Tipo, não sei se crio uma classe só para abrir a conexão ou se faço um metodo estático que retorna connection.

Detalhe eu quero q seja generica para qualquer hora que eu for utilizar…

Alguém tem alguma idéia?

6 Respostas

jgbt

methal,
Eu custumo criar uma classe com dois metodos estaticos, e um atributo Connection.
Um metodo createConection para criar a conexão e um getConnection para retornar a Connection.
Dentro do getConnection eu verifico se a onexão esta aberta, se sim retorno ela, senão crio(createConnection) e retrono ela.Prefiro usar estatico po causa da memoria, mas nunca testei afundo outras maneiras.Não sei se é a melhor maneira, talves alguem tenha outra sugestão p/ te dar.
Era isso que vc queria saber???
Espero ter te ajudado.

[]'s

M

é isso sim, como estou começando eu crie uma classe chamada FuncoesGerais e lá estou colocando funções de diversas espécies, mas no caso da conexão tive dúvida…

achei legal esta forma q vc disse, se alguém tiver mais idéias seria legal :smiley:

M

Alguém teria uma implementação para mostar?

Alexandre

Aqui no GUJ, existem uns tutoriais de JDBC, q são legais…
ja me ajudaram…
[]'s

soaresinfo

é bom você criar sua própria classe de conexao e até mesmo para retornar dados do resultset que voce poderá usar em qualquer outro programa, a parte de resultset eu implementei numa classe que me retorna um vector com os dados e outro metodo que retorna um vector com os cabecalhos da coluna…

B

Tá aqui um exemplo que eu tô usando num sistema.
A única diferença é que aqui eu tô usando um pool, mas idéia acho q é mais ou menos a mesma:

abstract public class AcessoBD {

    // As configurações são feitas com os atributos estáticos

    // host, ou ip, do servidor
    private static final String SERVER = "255.255.255.255"; 
   
    // nome da base de dados
    private static final String DATA_BASE = "bd1";
 
    // número máximo de conexões
    private static final int MAX_CONNECTIONS = 100;

    // número inicial de conxões
    private static final int INITIAL_CONNECTIONS = 15;

    // O pool em si
    private static Jdbc3PoolingDataSource pool = null;

    // nome do usuário
    private static final String USER = "postgres"; 

    // senha do usuário
    private static final String SENHA = "senha"; 


    //  Função que retorna a conexão
    public static final Connection getConexao() 
        throws SQLException {        
            
        // Se o pool não foi instanciado então a função de instanciar   
        // é chamada

        if (pool == null) {
            iniciarPool();
        }
        
        Connection conexao = pool.getConnection();
        
        conexao.setAutoCommit(true);
        
        return conexao;
    }

    // Função que instancia o pool
    
    private static final void iniciarPool () 
        throws SQLException {

        pool = new Jdbc3PoolingDataSource();
        
        pool.setServerName(SERVER);
        pool.setDatabaseName(DATA_BASE);
        pool.setUser(USER);
        pool.setPassword(SENHA);
        pool.setMaxConnections(MAX_CONNECTIONS);
        pool.setInitialConnections(INITIAL_CONNECTIONS);
    }    
}

Espero não ter atrapalhado mais q ajudado

Criado 12 de agosto de 2003
Ultima resposta 12 de ago. de 2003
Respostas 6
Participantes 5