Olá desenvolvedores, neste tutorial iremos aprender como estabelecer várias conexões com bancos distintos, utilizando o JDBC – Java Database Connectivity. Utilizamos essa tecnologia para persistência de dados, conexão, e consultas ao banco de dados entre muitas outras açõeS.
De acordo com a Wikipédia, JDBC é um conjunto de classes e interfaces escritas em Java que fazem o envio de instruções SQL para qualquer banco de dados relacional.
Em outras palavras, o JDBC compreende um conjunto de classes/interfaces Java que possibilitam a conexão com o banco de dados através de um driver específico do banco. Com ele podemos fazer transações de DDL – Linguagem de Definição de Dados e DML – Linguagem de manipulação de dados. O JDBC é compactado em um arquivo de extensão .jar. Assim poderemos fazer a conexão com o banco de dados e/ou utilizar os comandos que iremos precisar.
No projeto em que estamos trabalhando já existe a classe que faz conexão com a base de dados curso-jsp do banco PostgreSQL, é a ConnectionDataBase.java. Esta conexão já está sendo invocada pelo FilterAutenticacao. Nesse sentido o nosso objetivo é criar no mesmo projeto uma conexão para um segundo banco de dados.
CRIANDO MÚLTIPLAS CONEXÕES
Utilize uma segunda base de dados, se você não tiver, acredito que neste ponto do curso você já sabe como criar uma, utilizarei a aprendendojsp. Assim, no package connection crie uma segunda classe chamada ConnectionDataBaseBanco2.
Esta segunda classe será como um clone da classe já existente, a única mudança é o banco ao qual ela se conectará. Desse modo, no endereço onde o banco para acesso é apontado, substitua curso-jsp por aprendendojsp.
FILTER
Dessa forma, é preciso declarar também uma segunda connection no FilterAutenticacao.
private static Connection connectionBanco2;
E quando iniciar, o método init() precisa ter esta nova conexão declarada para subi-la juntamente com o projeto.
DAO
Da mesma é preciso estabelecer a conexão também no DAO – Data Access Object. A classe DAO é por onde passam todas as operações do banco de dados. E esta, DaoUsusarioBanco2 também poderá ser entendida como um clone da já existente.
A única mudança é sobre o banco o qual iremos nos conectar, assim sendo, o construtor implementa a conexão do banco que estamos criando.
MYSQL
E para criar a conexão com o MySQL precisaremos da biblioteca do MySQL dentro do pacote de libs do nosso projeto. Você pode clicar aqui para baixar a biblioteca. Depois de movê-la para a pasta em questão, selecione-a e clique com o botão direito sobre ela >> Build Path >> Add to Build Path.
Agora crie no package connection mais uma classe de conexão, agora para o MySQL, ConnectionDataBaseMySQL. Atente-se porque algumas partes da implementação serão distintas.
A primeira mudança ocorre no endereço de conexão, onde evidentemente muda o banco e o número da porta. E login e password que serão admin respectivamente.
private static String banco = “jdbc:mysql://localhost:3306/aprendendojsp?autoreconnect=true”;
No método conectar(), dentro da condição if alteraremos também o driver, em Class.forName procedas com a alteração indicada.
Class.forName(“com.mysql.jdbc.Driver”);
E claro podemos ter um DAO – Data Access Object, para o MySQL também, então crie o connectionDataBaseMySQL. Onde a conexão será como exemplificada abaixo:
Public DaoUsuarioBancoMySQL(){
Connection = ConnectionDataBaseMySQL.getConnection();
}
E do mesmo modo como procedemos com o connectionBanco2, a conexão terá que ser adicionada ao FilterAutenticacao.
private static Connection connectionBancoMySQL;
E também no método init();
connectionBancoMySQL();
connectionBancoMySQL.getConnection();
EM POUCAS PALAVRAS
E assim, quando você subir sua aplicação ela se conectará a dois bancos de dados PostgreSQL e um banco de dados MySQL. Esta é uma das formas mais simples de fazermos com que uma aplicação acesse vários bancos diferentes utilizando o JDBC.