3
respostas

Pool de conexoes com outros bancos

Quero fazer o mesmo exemplo de pool de conexoes do hsql com outros bancos que sao usados no mercado alguem pode me ajudar, principalmente o mysql e oracle

3 respostas

Olá Alexandre. Você pode dar uma olhada no tutorial do JournalDev

Você vai ter que baixar os drivers do MySQL ou Oracle (via Maven ou manualmente nos respectivos sites). e adicionar ao seu projeto. Depois o processo é basicamente o mesmo do hsql.

public class ConnectionPool {
    private MysqlDataSource mysqlDataSource;
    public ConnectionPool() {
        mysqlDataSource = new MysqlDataSource();
        mysqlDataSource.setURL("jdbc:mysql://localhost:3306/NomeDoBanco");
        mysqlDataSource.setUser("USUARIO");
        mysqlDataSource.setPassword("SENHA");
    }

    public Connection getConnection() {
        return mysqlDataSource.getConnection();
    }
}

Não sei por que o meu só rodou fazendo casting

package br.com.alura.jdbc;

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

import javax.sql.DataSource;
import com.mysql.jdbc.jdbc2.optional.MysqlDataSource;

public class ConnectionPool {

    private DataSource mysqlDS;

    public ConnectionPool() {
        mysqlDS = new MysqlDataSource();

        ((MysqlDataSource) mysqlDS).setURL("jdbc:mysql://localhost:3306/aluralojavirtual");
        ((MysqlDataSource) mysqlDS).setUser("root");
        ((MysqlDataSource) mysqlDS).setPassword("root");

    }



    public Connection getConnection() throws SQLException {
        return mysqlDS.getConnection();
    }

Olá, Bernardo. Eu que te passei o exemplo errado mesmo. O seu jeito é o certo. Você poderia criar o atributo mysqlDS como um MysqlDataSource pra não ter que ficar fazendo o cast no método;

package br.com.alura.jdbc;

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

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

public class ConnectionPool {

    private MysqlDataSource mysqlDS;

    public ConnectionPool() {
        mysqlDS = new MysqlDataSource();

        mysqlDS.setURL("jdbc:mysql://localhost:3306/aluralojavirtual");
        mysqlDS.setUser("root");
        mysqlDSsetPassword("root");

    }

    public Connection getConnection() throws SQLException {
        return mysqlDS.getConnection();
    }
}