0% acharam este documento útil (0 voto)
27 visualizações19 páginas

Java JDBC Mysql-1

Enviado por

bulimickcal
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
27 visualizações19 páginas

Java JDBC Mysql-1

Enviado por

bulimickcal
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
Você está na página 1/ 19

Acesso a banco de dados

Estrutura típica para que uma aplicação Java tenha


acesso a um banco de dados relacional:

Java
- Gerenciador Driver
BD Driver.jar
- Conexão
- Instruções SQL
- Processar Resultados
- Fechar conexão
Acesso ao banco de dados
Para que uma aplicação Java tenha acesso a um banco de dados
relacional os seguintes passos devem ser atendidos:
– Habilitar o driver JDBC a partir da aplicação cliente;
– Estabelecer uma conexão entre a aplicação cliente e servidor
do banco de dados;
– Montar e executar a instrução SQL desejada; e
– Processar no cliente o resultado da consulta.
Acesso ao banco de dados
Principais Falhas:
- Banco de Dados não iniciado;
- Driver não Encontrado
- Driver incompatível;
- URL – Configurada de forma incorreta (nome
banco, usuário, senha, servidor)
- Classe de conexão (inexistente, não instanciada,
com erros)
- Usuário sem direito de acesso
- Falta de tratamento de Exceções try catch
- Classe java.sql não instanciada
Arquitetura da JDBC
As principais classes e interfaces do pacote java.sql
são:
– DriverManager - gerencia o driver e cria uma conexão com
o banco.
– Connection - é a classe que representa a conexão com o
bando de dados.
Arquitetura da JDBC
As principais classes e interfaces do pacote java.sql
são:
– Statement - controla e executa uma instrução SQL .
– PreparedStatement - controla e executa uma instrução
SQL preparada.
– ResultSet - contém o conjunto de dados retornado por uma
consulta SQL.
– ResultsetMetaData - é a classe que trata dos metadados
do banco.
Utilizando a JDBC
Para a aplicação Java se comunicar com um banco de
dados e acessar os seus dados, uma conexão com
o BD deve ser estabelecida.
A conexão é estabelecida de seguinte forma:
– Carregamento do driver JDBC específico
– Criação da conexão com o BD

A partir da conexão é possível interagir com o BD,


fazendo consultas, atualização e busca às meta
informações da base e das tabelas.
Carregando o driver JDBC
Carregamento do driver JDBC específico:

Class.forName( “StringNomeDriveJDBC”);
A String (StringNomeDriveJDBC)
StringNomeDriveJDBC passada ao método
forName() é o nome completo qualificado da classe
que implementa o Driver JDBC de cada banco de
dados. Lembrando que cada driver possui um nome
diferente, consulte a documentação do fabricante.
Conectando ao Banco de Dados

Criação da conexão com o BD:


Connection conn = DriverManager.getConnection(
“url”,“usuario”,“senha”);

Após o carregamento do driver, a classe DriverManager é


a responsável por se conectar ao banco de dados e
devolver um objeto Connection, que representa a
conexão com o BD.
Statement

 Implementação de uma Interface que fornece métodos para executar uma


instrução SQL;
 Não aceita a passagem de parâmetros;

 principais métodos da Interface Statement são (SUN, 2007):


– ExecuteUpdate(), executa instruções SQL do tipo: INSERT, UPDATE e
DELETE;
– executeQuery(), executa instruções SQL de busca de dados do tipo SELECT;
– close(), libera o recurso que estava sendo utilizado pelo objeto.

// Instanciando o objeto statement (stmt)


Statement stmt = conn.createStatement();

// Executando uma instrução SQL.


stmt.executeUpdate(“INSERT INTO ALUNO VALUES (1, ‘Pedro da Silva’)”);
PreparedStatement

 A interface PreparedStatement possui todos os recursos


da interface Statement;
 acrescentando a utilização de parâmetros em uma
instrução SQL;

 métodos da interface PreparedStatement são (SUN, 2007):


– execute(), consolida a instrução SQL informada;
– setDate(), método utilizado para atribuir um valor do tipo Data;
– setInt(), utilizado para atribuir valores do tipo inteiro;
– setString(), método utilizado para atribuir valores do tipo Alfa
Numéricos.
ResultSet

 Esta interface permite o recebimento e gerenciamento do


conjunto de dados resultante de uma consulta SQL;
 métodos capazes de acessar os dados;
 métodos desta interface freqüentemente utilizados (SUN,
2007):
– next(), move o cursor para a próxima linha de dados, já que o
conjunto de dados retornados pela consulta SQL é armazenado
como em uma lista.
– close(), libera o recurso que estava sendo utilizado pelo objeto.
– getString(String columnName), recupera o valor da coluna
informada como parâmetro, da linha atual do conjunto de dados
recebidos pelo objeto ResultSet.
ResultSet

//Recebendo o conjunto de dados da consulta SQL


ResultSet rs = stmt.executeQuery("SELECT id, nome FROM ALUNO");

// Se houver resultados, posiciona-se o cursor na próxima linha de dados


while (rs.next()) {
// Recuperando os dados retornados pela consulta SQL
int id = rs.getInt("id");
String nome = rs.getString("nome");
}

 métodos como o getInt(), getString() para recuperar os


valores;
Explicação

1. Através do método createStatement() de Connection


é retornado um objeto Statement, que é usado para
executar um comando SQL no BD.
2. O método executeUpdate() de Statement recebe o
SQL que será executado. Este método deve ser
usado para DDLs e DML
3. Depois os métodos close() de Statement e
Connection são invocados para liberar os recursos.
Recuperando dados do BD
A recuperação de dados do BD é trivial e é
feita através da execução de uma query SQL
(consulta sql), e os dados podem ser
recuperados através da interface ResultSet,
retornada na execução da query.
Explicação

1. O método executeQuery() de Statment executa


uma consulta (query) SQL e retorna um objeto
ResultSet, que contém os dados recuperados.
2. Através do método next() de ResultSet, o cursor
interno é movido para o próximo registro. O método
retorna false caso não existam mais registros ou
true caso contrário.
3. Os valores dos registros podem ser recuperados
como o método getString(), que recebe o nome do
campo ou seu alias.
Consultando dados

Para ver os dados de uma tabela, a tabela deve ser


consultada. O comando SELECT do SQL é utilizado
para esta função. O comando é dividido em lista de
seleção (a parte que especifica as colunas a ser
retornadas), lista de tabelas (a parte que especifica
as tabelas de onde os dados vão ser extraídos), e
uma qualificação opcional (a parte onde são
especificadas as restrições).
Formulários
Formulários

SQL
- Gerenciador Driver
BD Driver.jar - Conexão Inteface
- Definição Classes
- Instruções SQL
- Processar Resultados
Formulários

SQL
- Gerenciador Driver
- Conexão
- Definição Classes
- Instruções SQL
- Processar Resultados

Você também pode gostar