JDBC E MARIADB Max Rosan
<maxrosan@ime.usp.br>
JDBC
• JDBC provê uma bilbioteca padrão para acesso a bancos de dados relacionais:
• Permite criar conexões com o banco de dados;
• Pode criar, armazenar a parametrizar consultas;
• Estrutura o resultado de consultas.
• JDBC padroniza os mecanismos de acesso, mas não a sintaxe das consultas.
• A sintaxe depende da tecnologia subjacente.
•JDBC consiste de duas partes:
• Uma API para gerenciamento de conexão e acesso aos dados;
• Driver que traduz chamadas e comandos da API do JDBC para o servidor de banco de dados.
JDBC
Passos para acesso ao banco com o JDBC:
1. Carregue e configure o driver para o banco de dados;
2. Defina o endereço (URL) da conexão;
3. Estabeleça a conexão;
4. Crie um statement object;
5. Execute a consulta;
6. Processe os resultados;
7. Feche a conexão.
JDBC: CARREGANDO O DRIVER
• Driver é uma peça do código que sabe de fato como falar com o banco de dados.
• Você pode carregar a classe do driver com o Class.forName:
• Quando a classe for carregada, um bloco estático de código vai instanciar a classe
e adicionar ao gerenciador de drivers.
JDBC: DRIVER DO MARIADB
• É necessário baixar o driver do MariaDB e colocá-lo na pasta WebContent/WEB-
INF/lib.
JDBC: DEFININDO O ENDEREÇO DA CONEXÃO
• O formato do endereço é: jdbc:<vendor>:<endereço>:<porta>/<banco>
• O fornecedor do driver geralmente dá mais detalhes sobre o formato do endereço:
• MariaDB: jdbc:mariadb://localhost:3306/DB?user=root&password=myPassword
JDBC: CRIANDO UMA CONEXÃO
• Usa-se o método estático getConnection do DriverManager para criar uma conexão.
• Deve-se definir um bloco try/catch para exceções do getConnection.
JDBC: CRIANDO UM STATEMENT OBJECT
• Um objeto Statement é usado para criar consultas.
• É instanciado a partir de um objeto Connection, com o método createStatement.
JDBC: EXECUTANDO UMA CONSULTA
• Uma vez com Statement instanciado, é possível executar consultas com:
• executeQuery: consulta sem modificação ao banco/tabela
• executeUpdate: modificação ao banco ou tabela
JDBC: PROCESSANDO O RESULTADO
• O método executeQuery vai retornar uma instância do ResultSet com os resultados
da consulta.
• ResultSet contém uma linha do resultado, o método next move para a próxima linha.
• ResultSet contém métodos para retornar o valor de uma coluna da linha:
• getString, getInt, getDouble, ..., recebem como o argumento o nome da coluna ou a posição dela.
JDBC: PROCESSANDO O RESULTADO
JDBC: FECHANDO A CONEXÃO
• Lembre-se de fechar a conexão após as operações com o método close.
• No entanto, se for necessário fazer mais de uma operação no banco de uma vez,
tente reutilizar a mesma conexão.
PADRÕES DE PROJETO P/BANCO DE DADOS
• Separa a lógica de negócio da lógica
de acesso aos dados.
DAO: EXEMPLO
DAO: EXEMPLO
Projeto: AirportsWeb
list.jsp

Jdbc e maria db

  • 1.
    JDBC E MARIADBMax Rosan <maxrosan@ime.usp.br>
  • 2.
    JDBC • JDBC provêuma bilbioteca padrão para acesso a bancos de dados relacionais: • Permite criar conexões com o banco de dados; • Pode criar, armazenar a parametrizar consultas; • Estrutura o resultado de consultas. • JDBC padroniza os mecanismos de acesso, mas não a sintaxe das consultas. • A sintaxe depende da tecnologia subjacente. •JDBC consiste de duas partes: • Uma API para gerenciamento de conexão e acesso aos dados; • Driver que traduz chamadas e comandos da API do JDBC para o servidor de banco de dados.
  • 3.
    JDBC Passos para acessoao banco com o JDBC: 1. Carregue e configure o driver para o banco de dados; 2. Defina o endereço (URL) da conexão; 3. Estabeleça a conexão; 4. Crie um statement object; 5. Execute a consulta; 6. Processe os resultados; 7. Feche a conexão.
  • 4.
    JDBC: CARREGANDO ODRIVER • Driver é uma peça do código que sabe de fato como falar com o banco de dados. • Você pode carregar a classe do driver com o Class.forName: • Quando a classe for carregada, um bloco estático de código vai instanciar a classe e adicionar ao gerenciador de drivers.
  • 5.
    JDBC: DRIVER DOMARIADB • É necessário baixar o driver do MariaDB e colocá-lo na pasta WebContent/WEB- INF/lib.
  • 6.
    JDBC: DEFININDO OENDEREÇO DA CONEXÃO • O formato do endereço é: jdbc:<vendor>:<endereço>:<porta>/<banco> • O fornecedor do driver geralmente dá mais detalhes sobre o formato do endereço: • MariaDB: jdbc:mariadb://localhost:3306/DB?user=root&password=myPassword
  • 7.
    JDBC: CRIANDO UMACONEXÃO • Usa-se o método estático getConnection do DriverManager para criar uma conexão. • Deve-se definir um bloco try/catch para exceções do getConnection.
  • 8.
    JDBC: CRIANDO UMSTATEMENT OBJECT • Um objeto Statement é usado para criar consultas. • É instanciado a partir de um objeto Connection, com o método createStatement.
  • 9.
    JDBC: EXECUTANDO UMACONSULTA • Uma vez com Statement instanciado, é possível executar consultas com: • executeQuery: consulta sem modificação ao banco/tabela • executeUpdate: modificação ao banco ou tabela
  • 10.
    JDBC: PROCESSANDO ORESULTADO • O método executeQuery vai retornar uma instância do ResultSet com os resultados da consulta. • ResultSet contém uma linha do resultado, o método next move para a próxima linha. • ResultSet contém métodos para retornar o valor de uma coluna da linha: • getString, getInt, getDouble, ..., recebem como o argumento o nome da coluna ou a posição dela.
  • 11.
  • 12.
    JDBC: FECHANDO ACONEXÃO • Lembre-se de fechar a conexão após as operações com o método close. • No entanto, se for necessário fazer mais de uma operação no banco de uma vez, tente reutilizar a mesma conexão.
  • 13.
    PADRÕES DE PROJETOP/BANCO DE DADOS • Separa a lógica de negócio da lógica de acesso aos dados.
  • 14.
  • 15.