Banco de dados de conexão JDBC
A programação envolvendo o estabelecimento de uma conexão JDBC é bastante simples. Aqui estão quatro etapas simples:
Importando pacote JDBC:
A declaração de importação informa ao compilador Java onde encontrar as referências no código e colocar a classe no início do seu código -fonte.
Usando o pacote JDBC padrão, ele permite seleção, inserção, atualizar e excluir dados das tabelas SQL, adicionando as seguintes importações ao seu código -fonte:
importar java.sql.*; // Para programas JDBC padrão, Java.math.*; // para suporte bigdecimal e biginteger
Registre o driver JDBC:
Antes de usá -lo, você deve registrar seu motorista no programa. Um driver registrado é um processo de implementação no qual o arquivo de classe do driver Oracle é carregado na memória, para que possa ser usado como uma interface JDBC.
Você precisa fazer esse registro apenas uma vez em seu programa. Um motorista pode ser registrado de duas maneiras.
Método (i) - Class.ForName ():
O método mais comum no registro de um driver é usar o método da classe Java.ForName () para carregar dinamicamente os arquivos da classe do driver na memória e o registrará automaticamente. Essa abordagem é desejável porque permite ao driver registrar a configuração para facilitar a portabilidade.
O exemplo a seguir usa o Class.ForName () para registrar um driver Oracle:
tente {Class.ForName ("oracle.jdbc.driver.oracledriver");} Catch (ClassNotFoundException Ex) {System.out.println ("Erro: Não é possível carregar a classe Driver!"); System.Exit (1);}Você pode usar o método getInstance () para resolver JVMs incompatíveis, mas duas exceções adicionais são escritas da seguinte forma:
tente {Class.ForName ("oracle.jdbc.driver.oracledriver"). NewInstance ();} Catch (ClassNotFoundException Ex) {System.out.println ("Erro: Não é possível carregar a classe 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: Incapaz de instanciar o driver!"); System.Exit (3);} Método (ii) - DriverManager.RegisterDriver ():
A segunda maneira de usá -lo para registrar um driver é usar o método staticDriverManager.RegisterDriver ().
Deve, se você estiver usando uma JDK JVM incompatível, por exemplo, a Microsoft fornece um método usando o RegisterDriver ().
O exemplo a seguir usa o RegisterDriver () para registrar o driver Oracle:
tente {driver mydriver = new oracle.jdbc.driver.oracledriver (); DriverManager.RegisterDriver (MyDriver);} Catch (ClassNotFoundException Ex) {System.out.println ("Erro: Incapaz de carregar a classe Driver!"); System.Exit (1);} Formulação URL do banco de dados:
Ao carregar o driver, você pode estabelecer uma conexão no programa usando o método DriverManager.getConnection (). Para facilitar a referência, vamos listar três métodos de DriverManager.getConnection ():
Aqui, cada formulário requer um URL do banco de dados. O URL do banco de dados aponta para o endereço do banco de dados.
O desenvolvimento de um URL do banco de dados é mais comumente usado para estabelecer conexões.
A tabela a seguir lista os populares nomes de driver JDBC e URLs de banco de dados.
RDBMSJDBC Nome do driver URL Formato
MySQL com.mysql.jdbc.Driver jdbc:mysql://hostname/ databaseNameORACLE oracle.jdbc.driver.OracleDriver jdbc:oracle:thin:@hostname:port Number:databaseNameDB2 COM.ibm.db2.jdbc.net.DB2Driver jdbc:db2:hostname:port Número/databasenamesybase com.sybase.jdbc.sybdriver jdbc: sybase: tds: hostname: port número/banco de dados
Todas as peças destacadas no formato URL são estáticas e apenas as peças restantes precisam ser alteradas de acordo com as configurações do banco de dados.
Crie um objeto de conexão: use o nome de usuário e a senha do URL do banco de dados:
As três formas a seguir do método driverManager.getConnection () são usadas para criar um objeto de conexão. A forma mais comum de getConnection () requer a passagem de um URL de banco de dados, nome de usuário e senha:
O valor do nome do banco de dados para o banco de dados URL: assumindo que você está usando o driver Thin da Oracle, precisa especificar um host: porta.
Suponha que exista um endereço TCP/IP do host 192.0.0.1 e o nome do host e o ouvinte Oracle estão configurados na porta 1521, o nome do banco de dados é EMP e, em seguida, o URL completo do banco de dados é:
JDBC: Oracle: Thin: @amrood: 1521: Emp
Agora, o método de nome de usuário e senha e getConnection () apropriados devem ser chamados para obter um objeto de conexão como mostrado abaixo:
String url = "JDBC: Oracle: Thin: @Amrood: 1521: Emp"; string user = "nome de usuário"; string pass = "senha" conexão Conn = driverManager.getConnection (URL, Usuário, Pass);
Use apenas um URL do banco de dados:
A segunda forma do método DriverManager.getConnection () requer apenas um URL do banco de dados:
DriverManager.getConnection (String URL);
No entanto, neste caso, o URL do banco de dados, incluindo o nome de usuário e a senha, possui o seguinte formulário geral:
JDBC: Oracle: Driver: Nome de usuário/Senha@Database
Portanto, a conexão acima pode ser criada da seguinte maneira:
String url = "JDBC: Oracle: Thin: Nome de usuário/senha@amrood: 1521: empp"; conexão Conn = DriverManager.getConnection (URL);
Use o URL do banco de dados e um objeto de propriedades:
A terceira forma do método DriverManager.getConnection () requer um URL do banco de dados e um objeto de propriedades:
DriverManager.getConnection (URL da String, Propriedades Info);
Objeto de propriedades, salva um conjunto de pares de palavras-chave. É usado para chamar o método getConnection () quando o atributo do driver é passado para o driver.
Para fazer a mesma conexão feita através do exemplo anterior, use o seguinte código:
importar java.Util.
Feche a conexão JDBC:
No final do programa JDBC, ele exige explicitamente que todas as conexões com o banco de dados sejam fechadas para encerrar cada sessão de banco de dados. No entanto, se você esquecer, o coletor de lixo Java fecha a conexão e limpa os objetos obsoletos.
Contar com a coleta de lixo, especialmente na programação do banco de dados, é um hábito de programação muito ruim. Deve sempre ter o hábito de fechar o método Close () associado ao objeto de conexão.
Para garantir que a conexão seja fechada, ela pode ser executada finalmente blocos no código. Finalmente, os blocos serão executados, seja ou não ou não.
Para fechar a conexão aberta acima, o método Close () deve ser chamado da seguinte forma:
Conn.Close ();
Fechar explicitamente as conexões com o DBMS para salvar recursos.
Crie um aplicativo JDBC:
Existem seis etapas envolvidas na construção de um aplicativo JDBC:
Código de exemplo:
Este exemplo pode ser usado como modelo quando você precisa criar um aplicativo JDBC.
Este código de amostra foi escrito com base na instalação do ambiente e do banco de dados no capítulo anterior.
Copie o exemplo a seguir FirstExample.java, compilar e executar o seguinte:
// Etapa 1. Importar pacotes necessários String final estática db_url = "jdbc: mysql: // localhost/empp"; // credenciais de banco de dados estático final string user = "nome de usuário"; estático final string pass = "senha"; public static void main (string [] args) {conexão conn = null; Instrução stmt = null; tente {// Etapa 2: Registre JDBC Driver Class.ForName ("com.mysql.jdbc.driver"); // Etapa 3: abra um sistema de conexão.out.println ("conectando ao banco de dados ..."); Conn = DriverManager.getConnection (db_url, usuário, passa); // Etapa 4: execute um sistema de consulta.out.println ("criando declaração ..."); stmt = conn.createstatement (); String sql; sql = "Selecione ID, primeiro, último, idade dos funcionários"; ResultSet rs = stmt.executeQuery (SQL); // Etapa 5: extraia dados do conjunto de resultados enquanto (rs.Next ()) {// recuperar pelo nome da coluna int id = rs.getInt ("id"); int age = rs.getInt ("idade"); String primeiro = rs.getString ("primeiro"); String last = rs.getString ("last"); // Exibir valores system.out.print ("id:" + id); System.out.print (", idade:" + idade); System.out.print (", primeiro:" + primeiro); System.out.println (", last:" + last); } // Etapa 6: ambiente de limpeza rs.close (); stmt.close (); Conn.Close (); } catch (sqlexception se) {// manipula erros para jdbc SE.printStackTrace (); } catch (Exceção e) {// manipula erros para class.ForName E.PrintStackTrace (); } finalmente {// Finalmente o bloco usado para fechar os recursos tente {if (stmt! = null) stmt.close (); } catch (sqLexception SE2) {} // nada que possamos fazer tente {if (conn! = null) conn.close (); } catch (sqLexception SE) {SE.printStackTrace (); } // Finalmente, finalmente tente} // End Try System.out.println ("Adeus!"); } // END PRINCIPAL} // END FirstExampleAgora vamos compilar o exemplo acima da seguinte maneira:
C:> Javac FirstExample.java
Ao executar o primeiro exemplo, ele produz os seguintes resultados:
C:> Java FirstExample
Conectando -se ao banco de dados ... Criando declaração ... ID: 100, idade: 18, primeiro: Zara, Last: Aliid: 101, Idade: 25, Primeiro: Mahnaz, Last: Fatmaid: 102, Idade: 30, Primeiro: Zaid, Último: Khanid: 103, Idade: 28, Primeiro: Sumit, Last: Mittal, Mittal