Solucionado (ver solução)
Solucionado
(ver solução)
4
respostas

Pool Mysql

Como eu crio um pool de conexões no mysql?

4 respostas

Você pode ler a resposta neste post:

https://cursos.alura.com.br/forum/topico--duvida-pool-de-conexoes-replicar-em-banco-mysql-o-que-foi-ensinado-com-hsqldb-16433
solução!

Marco, eu consegui com o código abaixo:


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

import javax.sql.DataSource;

import com.mysql.jdbc.jdbc2.optional.MysqlConnectionPoolDataSource;

public class ConnectionPool {

    private DataSource dataSource;

    public ConnectionPool() {
        MysqlConnectionPoolDataSource pool = new MysqlConnectionPoolDataSource();
        pool.setUrl("jdbc:mysql://127.0.0.1:3306/loja-virtual");
        pool.setUser("root");
        pool.setPassword("");

        this.dataSource = pool;
    }

    public Connection getConnection() throws SQLException {
        Connection connection = dataSource.getConnection();
        return connection;
    }

}

Para tanto, você precisa ter o ConnectorJ disponível no projeto. Veja as instruções de instalação em https://dev.mysql.com/doc/connector-j/5.1/en/connector-j-installing.html

Depois, altere a string de conexão do exemplo de acordo com seu ambiente de desenvolvimento. No exemplo o sistema procurará uma base de dados chamada "loja-virtual" no IP "127.0.0.1"(localhost) e na porta "3306" que é a padrão do MySQL. Ah, e claro, não se esqueça de informar o usuário e a senha nas linhas a seguir.

Eu também usei MySQL durante esse curso. Se quiser ver o código final do meu projeto acesse https://github.com/ghplay/alura-jdbc

Abraço.

Muito obrigado pelas informações

Marco, um detalhe: apesar do código acima funcionar, tenho que rever essa questão. Depois de ver o post citado pelo Gabriel eu pesquisei mais a respeito e parece que essa não é a forma correta de implementar pool de conexões para o MySQL. No link dele há inclusive um exemplo usando a biblioteca C3P0.

Ainda não tive tempo de olhar isso com calma, mas se quiser saber mais, dê uma olhada nos links abaixo:

http://stackoverflow.com/questions/2353569/am-i-using-java-pooledconnections-correctly

https://sourceforge.net/projects/c3p0/

http://commons.apache.org/proper/commons-dbcp/