English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Após instalar o driver correspondente, você pode usar JDBC para estabelecer uma conexão com o banco de dados.
A programação envolvida na criação de conexões JDBC é muito simples. Aqui estão esses quatro passos simples-
Importe o pacote JDBC:Adicione uma declaração na sua aplicação Java importpara importar as classes necessárias no código Java.
Registre o driver JDBC: Este passo faz com que o JVM carregue a implementação do driver necessária na memória, para atender às suas solicitações JDBC.
Configuração de URL do banco de dados: Isso é para criar um endereço formatado corretamente, que aponta para o banco de dados que você deseja conectar.
Crie um objeto de conexão:Por fim, escreva paraDriverManagerObjetogetConnection( )código de chamada de método para estabelecer a conexão real com o banco de dados.
A instrução de importação informa ao compilador Java onde ele pode encontrar as classes referenciadas no código e é colocada no início do código-fonte.
Para usar o pacote JDBC padrão (que permite que você selecione, insira, atualize e exclua dados em tabelas SQL), adicione as seguintes importações ao código-fonte
import java.sql.* ; // para programas JDBC padrão import java.math.* ; // Obter suporte para BigDecimal e BigInteger
Antes de usar o driver, você deve registrar o driver no programa. O registro do driver é o processo de carregar o arquivo de classe do driver para a memória, para que possa ser usado como implementação do JDBC.
Você precisa registrar o driver apenas uma vez em seu programa. Você pode registrar o driver usando uma das duas seguintes maneiras.
A maneira mais comum de registrar um driver no Java é usar Class.forName() Método, que carrega o arquivo de classe do driver dinamicamente para a memória, que é registrada automaticamente. Este método é preferível, pois permite que você faça o registro do driver configurável e portátil.
O exemplo a seguir Class.forName( ) é usado para registrar o driver Oracle
try { Class.forName("oracle.jdbc.driver.OracleDriver"); } catch(ClassNotFoundException ex) { System.out.println("Erro: Não foi possível carregar a classe do driver!"); System.exit(1); }
Você pode usarmétodo getInstance()para resolver JVM incompatíveis, mas em seguida, você deve escrever o código de duas exceções adicionais, conforme mostrado a seguir:
try { Class.forName("oracle.jdbc.driver.OracleDriver").newInstance(); } catch(ClassNotFoundException ex) { System.out.println("Erro: Não foi possível carregar a classe do driver!"); System.exit(1); catch(IllegalAccessException ex) { System.out.println("Erro: Problema de acesso ao carregar!"); System.exit(2); catch(InstantiationException ex) { System.out.println("Erro: Não foi possível instanciar o driver!"); System.exit(3); }
Uma segunda maneira de registrar o driver é usar o método estático DriverManager.registerDriver() .
Se o JVM (Java Virtual Machine) utilizado não é compatível com o JDK (Java Development Kit) (por exemplo, o JVM fornecido pela Microsoft), deve-se usar registerDriver() método.}
O exemplo a seguir é usado para registrar o driver Oracle usando registerDriver()-
try { Driver myDriver = new oracle.jdbc.driver.OracleDriver(); DriverManager.registerDriver(myDriver); } catch(ClassNotFoundException ex) { System.out.println("Erro: Não foi possível carregar a classe do driver!"); System.exit(1); }
Após carregar o driver, você pode usar o método DriverManager.getConnection () para estabelecer a conexão. Para fins de referência, deixe-me listar os três métodos de sobrecarga DriverManager.getConnection ()
getConnection(String url)
getConnection(String url, Properties prop)
getConnection(String url, String user, String password)
Aqui, cada forma requer um banco de dadosURL.A URL de banco de dados é o endereço que aponta para seu banco de dados.
A criação da URL de banco de dados é onde a maioria dos problemas relacionados à conexão ocorrem.
A tabela a seguir lista os nomes dos drivers JDBC comuns e as URLs de banco de dados.
Banco de dados | Nome do driver JDBC | Formato de URL |
---|---|---|
MySQL | com.mysql.jdbc.Driver | jdbc:mysql://hostname/ databaseName |
ORACLE | oracle.jdbc.driver.OracleDriver | jdbc:oracle:thin:@hostname: Número de porta: databaseName |
DB2 | COM.ibm.db2.jdbc.net.DB2Driver | jdbc:db2:hostname: Número de porta/databaseName |
Sybase | com.sybase.jdbc.SybDriver | jdbc:sybase:Tds:hostname: Número de porta/databaseName |
Todas as partes destacadas no formato de URL são estáticas, você só precisa alterar o resto conforme a configuração do banco de dados.
Listamos três DriverManager.getConnection() The method to create a connection object.
The most commonly used form of getConnection() requires you to pass the database URL,usernameandpassword
Assuming you are using Oracle'sthinThe driver will specify the host:port:databaseName value for the database part of the URL.
If you are using TCP / IP address192.0.0.1and your Oracle listener is configured to listen on port1521and your database name is EMP, then the complete database URL will be-
jdbc:oracle:thin:@amrood:1521:EMP
Now, you must call the method getConnection() with the correct username and password to getConnectionObject, as shown below:
String URL = "jdbc:oracle:thin:@amrood:1521:EMP"; String USER = "username"; String PASS = "password" Connection conn = DriverManager.getConnection(URL, USER, PASS);
The second form of the DriverManager.getConnection() method only requires the database URL-
DriverManager.getConnection(String url);
However, in this case, the database URL contains the username and password and has the following conventional form-
jdbc:oracle:driver:username/password@database
Therefore, the above connection can be created as follows-
String URL = "jdbc:oracle:thin:username/password@amrood:1521:EMP"; Connection conn = DriverManager.getConnection(URL);
The third form of the DriverManager.getConnection() method requires the database URL and Properties object-
DriverManager.getConnection(String url, Properties info);
The property object contains a set of keywords-Value pair. It is used to pass driver properties to the driver during the call to getConnection() method.
Para estabelecer a conexão igual aos exemplos anteriores, use o seguinte código-
import java.util.*; String URL = "jdbc:oracle:thin:@amrood:1521:EMP"; Properties info = new Properties(); info.put("user", "username"); info.put("password", "password"); Connection conn = DriverManager.getConnection(URL, info);
No final do programa JDBC, é exigido que todas as conexões com o banco de dados sejam fechadas explicitamente para encerrar cada sessão de banco de dados. No entanto, se você esquecer, o coletor de lixo do Java fechará a conexão ao limpar os objetos antigos.
Depender da coleta de lixo, especialmente em programação de banco de dados, é uma má prática de programação. Você deve养成 o hábito de sempre usar o método close() associado ao objeto de conexão para fechar a conexão de banco de dados.
Para garantir que a conexão seja fechada, você pode fornecer um bloco 'finally' no código.finallyO bloco sempre é executado, independentemente de ocorrer ou não uma exceção.
Para fechar a conexão aberta acima, você deve chamar o método close() da seguinte forma:
conn.close();
Fechar explicitamente a conexão pode economizar recursos do DBMS, o que satisfará seu administrador de banco de dados.
Para entender melhor, recomendamos que você estudeJDBC-Tutorial de Código de Exemplo.