31.2. Inicialização do driver

Esta seção descreve como carregar e inicializar o driver JDBC nos programas.

31.2.1. Importação do JDBC

Todo fonte que utiliza o JDBC precisa importar o pacote java.sql, utilizando:

import java.sql.*;

Nota: Não deve ser importado o pacote org.postgresql. Se isto for feito o fonte não vai compilar, porque o javac vai se confundir.

31.2.2. Carga do driver

Antes de ser possível fazer a conexão com o banco de dados é necessário carregar o driver. Estão disponíveis dois métodos, e depende do código qual é o melhor para ser utilizado.

No primeiro método, o código carrega implicitamente o driver utilizando o método Class.forName(). Para o PostgreSQL é utilizado:

Class.forName("org.postgresql.Driver");

Este método carrega o driver e, enquanto carrega, o driver automaticamente se registra no gerenciador de driver JDBC.

Nota: O método forName() pode lançar a exceção ClassNotFoundException se o driver não estiver disponível.

Este é o método usado mais comumente, mas restringe o código a usar apenas o PostgreSQL. Se houver possibilidade do código acessar outro sistema de banco de dados no futuro, e não se deseja utilizar nenhuma extensão específica do PostgreSQL, então o segundo método é mais aconselhável.

O segundo método passa o driver como um parâmetro para a JVM quando esta é inicializada, utilizando o argumento -D. Por exemplo:

java -Djdbc.drivers=org.postgresql.Driver exemplo.VerImagem

Neste exemplo a JVM tenta carregar o driver como parte de sua inicialização. Uma vez isto feito, VerImagem é iniciado.

Este método é o melhor, porque permite o código ser utilizado com outros gerenciadores de banco de dados sem a necessidade de ser recompilado. A única coisa que também mudaria é a URL da conexão, é coberta a seguir.

Para terminar: Quando o código utiliza a classe Connection para abrir uma conexão, e é lançada uma exceção SQLException com a mensagem Nenhum driver disponível, provavelmente isto foi causado pelo fato do driver não estar no caminho de classe, ou o valor do parâmetro não estar correto.

31.2.3. Conexão com o banco de dados

No JDBC, o banco de dados é representado por uma URL (Uniform Resource Locator). No PostgreSQL, a URL possui uma das seguintes formas:

Os parâmetros possuem o seguinte significado:

hospedeiro
O nome de hospedeiro do servidor. O padrão é localhost. Para se especificar um endereço de IPv6 o parâmetro hospedeiro deve estar entre colchetes como, por exemplo:
jdbc:postgresql://[::1]:5740/contabilidade
porta
O número da porta onde o servidor está escutando as conexões. O padrão é o número da porta padrão do PostgreSQL (5432).
banco_de_dados
O nome do banco de dados.

Para se conectar é necessário obter uma instância Connection do JDBC. Para isto é utilizado DriverManager.getConnection():

Connection db = DriverManager.getConnection(url, nome_do_usuário, senha);

31.2.4. Fechamento da conexão

Para fechar a conexão com o banco de dados simplesmente deve ser chamado o método close() da classe Connection:

db.close();

SourceForge.net Logo