SlideShare uma empresa Scribd logo
Ramon Lopes Embaixador de Campus Sun - UFBA Java DataBase Connectivity - JDBC
Introdução SQL O que é um BD? Agenda JDBC Projeto Final Padrões de Projetos
O que é um Banco de Dados? Conjuntos de dados com uma estrutura regular que organizam informação É onde guardamos os dados que pertencem ao   nosso sistema Usualmente mantido e acessado por meio de um software conhecido como SGBD O SGBD disponibiliza uma interface para que os seus clientes possam incluir, alterar ou consultar dados
Conceitos Básicos Tabela Representa uma determinada entidade no modelo de dados Coluna Define uma propriedade (atributo) que compõe uma entidade Linha Define uma informação Chave primária Chave de identificação única e exclusiva
Introdução SQL Structured Query Language Linguagem padrão para manipular sistema de banco de dados Com SQL podemos Inserir dados Recuperar dados Atualizar dados Deletar dados Extremamente  fácil!
Introdução SQL SQL Data Manipulation Language (DML) SELECT INSERT INTO UDPATE DELETE SQL Data Definition Language (DDL) CREATE TABLE ALTER TABLE DROP TABLE
Introdução SQL – Select Sintaxe: SELECT nome_da_coluna FROM nome_da_tabela WHERE condicao; Exemplos: SELECT * FROM alunos; SELECT nome, cpf FROM alunos; SELECT * FROM pessoas WHERE idade > 20; SELECT * FROM pessoas WHERE nome LIKE 'j%o';
Introdução SQL – Insert Sintaxe: INSERT INTO nome_tabela VALUES(valor1, valor2, ...); Exemplos: INSERT INTO pessoas VALUES('Ramon', 19); INSERT INTO pessoas(nome, idade) VALUES('Joao',20);
Introdução SQL – Update Sintaxe: UPDATE nome_da_tabela SET nome_coluna = novo_valor WHERE condição Exemplos: UPDATE pessoas SET nome = 'Ramon Lopes' WHERE name = 'Ramon'; UPDATE pessoas SET nome = 'Joao Jose', idade = 19 WHERE name = 'Joao'; UPDATE projetos SET ano = 2008;
Introdução SQL – Delete Sintaxe: DELETE nome_tabela WHERE condição Exemplos: DELETE FROM pessoas WHERE nome='Ramon' DELETE FROM pessoas WHERE nome='Joao' AND idade = 19 DELETE FROM pessoas WHERE idade > 20
Introdução SQL Tópicos Adicionais Join Order By Between Alias Functions
Exercício 1 https://app.dcc.ufba.br/phpmyadmin/ Login: ramonp061 Password: *********** Clicar em SQL (Centro Superior) Tabela: Pessoas Executar variações dos comandos mostrados anteriormente
demo
JDBC Padrão para acessar Banco de Dados Definição de conjunto de iterfaces que são implementadas pelos fabricantes do JDBC Driver Maior parte da API está em java.sql Cada Banco de Dados deve possuir seu Driver JDBC
JDBC Fonte: Apostila Caelum Web Fj-21
JDBC Passos Adicionar o Driver JDBC ao conjunto de bibliotecas da aplicação Carregar o Driver JDBC Obter uma conexão Criar um PreparedStatement Executar a query Interpretar os resultados Liberar Recursos do sistema
JDBC Carregar Driver JDBC Class.forName("com.mysql.jdbc.Driver"); Criar Conexão DriverManager fornece objetos de conexão Objeto Connection referencia a conexão obtida pelo DriverManager Exemplo: Connection con = DriverManager.getConnection();
Exercício 2 Criar um novo projeto Adicionar o Driver JDBC ao conjunto de bibliotecas da aplicação Carregar o Driver Abrir uma conexão
JDBC PreparedStatement Comando SQL é determinado na criação Comando SQL é pré-compilado Referência obtida através do objeto de conexão Exemplo: PreparedStatement stmt = conn.prepareStatment(“Insert into pessoas values(?)”);
JDBC PreparedStatement Uso de parâmetros é uma boa prática Reutilização do comando SQL Parâmetros são indicados por: '?' Métodos setXXX(posição, valor); Exemplo: stmt = conn.prepareStatment(“Insert into pessoas values(?,?)”); stmt.setString(1,”Ramon”); stmt.setInt(2,25);
JDBC – Inserindo Dados Exemplo: PreparedStatment stmt = conn.prepareStatment("INSERT INTO pessoas(nome, idade) VALUES(?,?)"); stmt.setString(1, "Ramon"); stmt.setInt(2, 19); stmt.execute(); stmt.close();
Exercício 3 Criar um método que receberá como parâmetro dados necessários para inserir uma pessoa Dentro do método criado, criar a PreparedStatement Executar várias chamadas ao método criado com parâmetros diferentes Verificar pelo Netbeans a tabela Pessoa
JDBC – Recuperando Dados Execução da query: executeQuery() ResultSet é retornado, contendo resultados da busca Deve-se iterar tal objeto, método: next(); Iterator é inicializado uma posição antes da primeira linha Recupera-se os dados getXXX('coluna');
JDBC – Recuperando Dados Exemplo: PreparedStatemnt stmt = conn.prepareStatment(“SELECT * FROM pessoas); ResultSet res = stmt.executeQuery(); while(res.next()){ String s = res.getString(“nome); } res.close(); stmt.close();
JDBC – Liberando Recursos Responsabilidade do Programador Implicação em indisponibilidade futura de recursos Feita atrvés do método close() Ordem a ser feita: ResultSet Statement Connection
Exercício 4 Recuperar e exibir todas as pessoas cadastradas no banco Executar operações de DELETE / UPDATE  Seguem praticamente o mesmo padrão Método executeUpdate();
JavaBeans Componentes reutilizáveis Implementa-se Serializable Construtor sem parâmetros Atributos private Métodos getters e setters Regras de nomeação
Exercício 5 Criar um JavaBean Tabela: Pessoa Atributos: nome, idade, ano Gerar getters e setters
Padrão de Projetos DAO Encapsular o acesso ao Banco de Dados Ex: A classe PessoaDAO conterá todos os métodos responsáveis de interação com a base dados Singleton Garantir uma única instância de uma classe Ex: Utilizamos para garantir apenas um único objeto Connection Exemplos
Exercício 5 Criar um novo projeto Criar uma classe ConnectionFactory Declarar um atributo de classe private para Connection Disponibilizar um método de classe getConnection para disponibilizar o Connection. Deve-se usar o Singleton Criar uma classe PessoaDAO cujas operações: CRUD
Exercício 6  Inserir na classe PessoaDAO um método exclusivo para fechar os recursos passados (Statement, ResultSet) Inserir na Factory um método para fechar Connection
Próximos Passos Transactions Stored Procedures Framework ORM
Projeto Final Aplicar todo conteúdo que foi visto na implementação do sistema proposto. Deve-se utilizar os padrões de projetos e boas práticas apresentadas. O resultado final desta etapa será utilizado no próximo mini-curso de Java Web e suas ramificações.
Java DataBase Connectivity – JDBC Obrigado! Ramon Lopes [email_address]

Mais conteúdo relacionado

PDF
Acesso a banco de dados com JDBC
PPTX
Acesso a Banco de Dados em Java usando JDBC
PPT
Manipulando Bancos de Dados com JDBC
PDF
Fundamentos de JDBC
PDF
Jdbc, JAVA DATABASE CONNECTIVITY
ODP
Java 16 Jdbc
PDF
Fundamentos de JDBC
PDF
Como conectar programas em linguagem java a bases de dados
Acesso a banco de dados com JDBC
Acesso a Banco de Dados em Java usando JDBC
Manipulando Bancos de Dados com JDBC
Fundamentos de JDBC
Jdbc, JAVA DATABASE CONNECTIVITY
Java 16 Jdbc
Fundamentos de JDBC
Como conectar programas em linguagem java a bases de dados

Mais procurados (20)

PDF
JavaScript - Introdução com Orientação a Objetos
PDF
um breve treinamento sobre SQL e suas funcionalidades
PDF
Aula 01 PHP+MySQL - LabMM4
PPTX
CONEXÃO BANCO DE DADOS MYSQL COM JAVA
PDF
Jquery 2
KEY
PPTX
Programando com estilo e Performance
PPTX
Treinamento de SQL Básico
PPTX
jQuery na Prática - Cauê Fajoli
PDF
Fundamentos de PHP, phpMyAdmin e MySQL (parte 2)
PDF
Pdo do PHP Palestra
PDF
Persistência Java: Hibernate e JPA
PDF
Aula 12 Relatório - Tabelas
PPTX
MongoDB
PDF
PHP e Mysql - DELETE
PDF
Sql proficiente
PDF
Java web 6 JSP Expression Language Taglib parte 2
PDF
Introdução ao JQuery e AJAX
PDF
Elasticidade e engenharia de banco de dados para alta performance - Rubens G...
JavaScript - Introdução com Orientação a Objetos
um breve treinamento sobre SQL e suas funcionalidades
Aula 01 PHP+MySQL - LabMM4
CONEXÃO BANCO DE DADOS MYSQL COM JAVA
Jquery 2
Programando com estilo e Performance
Treinamento de SQL Básico
jQuery na Prática - Cauê Fajoli
Fundamentos de PHP, phpMyAdmin e MySQL (parte 2)
Pdo do PHP Palestra
Persistência Java: Hibernate e JPA
Aula 12 Relatório - Tabelas
MongoDB
PHP e Mysql - DELETE
Sql proficiente
Java web 6 JSP Expression Language Taglib parte 2
Introdução ao JQuery e AJAX
Elasticidade e engenharia de banco de dados para alta performance - Rubens G...
Anúncio

Destaque (8)

PPT
Poo Aula 02
PPTX
Programação "Estruturada" com Java
PDF
Introdução aos computadores e à World Wide Web
PDF
Aula 02 - Programação Estruturada em JAVA
PPTX
Estrutura de dados em Java - Filas com lista encadeada
PPTX
Estrutura de dados em Java - Pilhas
PPTX
Estrutura de dados em Java - Filas
PDF
Estruturas de dados
Poo Aula 02
Programação "Estruturada" com Java
Introdução aos computadores e à World Wide Web
Aula 02 - Programação Estruturada em JAVA
Estrutura de dados em Java - Filas com lista encadeada
Estrutura de dados em Java - Pilhas
Estrutura de dados em Java - Filas
Estruturas de dados
Anúncio

Semelhante a JDBC (20)

PDF
Fundamentos de JDBC
PPT
Apresentação Java Web Si Ufc Quixadá
PDF
Conectando seu banco de dados usando jdbc
PPS
Trabalho teorico de Linguagem de Programação
PPT
Fundamentos de SQL - Parte 1 de 8
PDF
Apostila: Curso de java III
PPTX
Curso de Java 12 - (JDBC, Transation, Commit e Rollback).pptx
PDF
Integração com Banco de Dados
PDF
Silo.tips aula 4-jdbc-java-database-connectivity
PPT
Produtividade com JavaServer Faces
PDF
Dsi 015 - poo e php - conexão com bancos de dados usando pdo
PPTX
Aula 1 - Curso de PHP/CI e Tecnologias Relacionadas
PDF
Persistência com JPA usando o NetBeans 7
PDF
Javaone Brazil 2012: Integrando Ext JS 4 com Java EE
Fundamentos de JDBC
Apresentação Java Web Si Ufc Quixadá
Conectando seu banco de dados usando jdbc
Trabalho teorico de Linguagem de Programação
Fundamentos de SQL - Parte 1 de 8
Apostila: Curso de java III
Curso de Java 12 - (JDBC, Transation, Commit e Rollback).pptx
Integração com Banco de Dados
Silo.tips aula 4-jdbc-java-database-connectivity
Produtividade com JavaServer Faces
Dsi 015 - poo e php - conexão com bancos de dados usando pdo
Aula 1 - Curso de PHP/CI e Tecnologias Relacionadas
Persistência com JPA usando o NetBeans 7
Javaone Brazil 2012: Integrando Ext JS 4 com Java EE

Último (19)

PPTX
Aula16ManipulaçãoDadosssssssssssssssssssssssssssss
PDF
Fundamentos de gerenciamento de ordens e planejamento no SAP TransportationMa...
PDF
Custos e faturamento no SAP S/4HANA Transportation Management, S4TM3 Col26
PDF
Apple Pippin Uma breve introdução. - David Glotz
PPTX
Gestao-de-Bugs-em-Software-Introducao.pptxxxxxxxx
PDF
Gestão de transportes básica no SAP S/4HANA, S4611 Col20
PDF
Processos na gestão de transportes, TM100 Col18
PPTX
Como-se-implementa-um-softwareeeeeeeeeeeeeeeeeeeeeeeee.pptx
PPTX
Programação - Linguagem C - Variáveis, Palavras Reservadas, tipos de dados, c...
PDF
Custos e liquidação no SAP Transportation Management, TM130 Col18
PPTX
Informática Aplicada Informática Aplicada Plano de Ensino - estudo de caso NR...
PDF
Fullfilment AI - Forum ecommerce 2025 // Distrito e Total Express
PDF
COBITxITIL-Entenda as diferença em uso governança TI
PPTX
Aula 18 - Manipulacao De Arquivos python
PDF
Mergulho profundo técnico para gestão de transportes no SAP S/4HANA, S4TM6 Col14
PDF
20250805_ServiceNow e a Arquitetura Orientada a Serviços (SOA) A Base para Ap...
PDF
Aula04-Academia Heri- Tecnologia Geral 2025
PPTX
BANCO DE DADOS - AULAS INICIAIS-sgbd.pptx
PDF
Otimizador de planejamento e execução no SAP Transportation Management, TM120...
Aula16ManipulaçãoDadosssssssssssssssssssssssssssss
Fundamentos de gerenciamento de ordens e planejamento no SAP TransportationMa...
Custos e faturamento no SAP S/4HANA Transportation Management, S4TM3 Col26
Apple Pippin Uma breve introdução. - David Glotz
Gestao-de-Bugs-em-Software-Introducao.pptxxxxxxxx
Gestão de transportes básica no SAP S/4HANA, S4611 Col20
Processos na gestão de transportes, TM100 Col18
Como-se-implementa-um-softwareeeeeeeeeeeeeeeeeeeeeeeee.pptx
Programação - Linguagem C - Variáveis, Palavras Reservadas, tipos de dados, c...
Custos e liquidação no SAP Transportation Management, TM130 Col18
Informática Aplicada Informática Aplicada Plano de Ensino - estudo de caso NR...
Fullfilment AI - Forum ecommerce 2025 // Distrito e Total Express
COBITxITIL-Entenda as diferença em uso governança TI
Aula 18 - Manipulacao De Arquivos python
Mergulho profundo técnico para gestão de transportes no SAP S/4HANA, S4TM6 Col14
20250805_ServiceNow e a Arquitetura Orientada a Serviços (SOA) A Base para Ap...
Aula04-Academia Heri- Tecnologia Geral 2025
BANCO DE DADOS - AULAS INICIAIS-sgbd.pptx
Otimizador de planejamento e execução no SAP Transportation Management, TM120...

JDBC

  • 1. Ramon Lopes Embaixador de Campus Sun - UFBA Java DataBase Connectivity - JDBC
  • 2. Introdução SQL O que é um BD? Agenda JDBC Projeto Final Padrões de Projetos
  • 3. O que é um Banco de Dados? Conjuntos de dados com uma estrutura regular que organizam informação É onde guardamos os dados que pertencem ao  nosso sistema Usualmente mantido e acessado por meio de um software conhecido como SGBD O SGBD disponibiliza uma interface para que os seus clientes possam incluir, alterar ou consultar dados
  • 4. Conceitos Básicos Tabela Representa uma determinada entidade no modelo de dados Coluna Define uma propriedade (atributo) que compõe uma entidade Linha Define uma informação Chave primária Chave de identificação única e exclusiva
  • 5. Introdução SQL Structured Query Language Linguagem padrão para manipular sistema de banco de dados Com SQL podemos Inserir dados Recuperar dados Atualizar dados Deletar dados Extremamente fácil!
  • 6. Introdução SQL SQL Data Manipulation Language (DML) SELECT INSERT INTO UDPATE DELETE SQL Data Definition Language (DDL) CREATE TABLE ALTER TABLE DROP TABLE
  • 7. Introdução SQL – Select Sintaxe: SELECT nome_da_coluna FROM nome_da_tabela WHERE condicao; Exemplos: SELECT * FROM alunos; SELECT nome, cpf FROM alunos; SELECT * FROM pessoas WHERE idade > 20; SELECT * FROM pessoas WHERE nome LIKE 'j%o';
  • 8. Introdução SQL – Insert Sintaxe: INSERT INTO nome_tabela VALUES(valor1, valor2, ...); Exemplos: INSERT INTO pessoas VALUES('Ramon', 19); INSERT INTO pessoas(nome, idade) VALUES('Joao',20);
  • 9. Introdução SQL – Update Sintaxe: UPDATE nome_da_tabela SET nome_coluna = novo_valor WHERE condição Exemplos: UPDATE pessoas SET nome = 'Ramon Lopes' WHERE name = 'Ramon'; UPDATE pessoas SET nome = 'Joao Jose', idade = 19 WHERE name = 'Joao'; UPDATE projetos SET ano = 2008;
  • 10. Introdução SQL – Delete Sintaxe: DELETE nome_tabela WHERE condição Exemplos: DELETE FROM pessoas WHERE nome='Ramon' DELETE FROM pessoas WHERE nome='Joao' AND idade = 19 DELETE FROM pessoas WHERE idade > 20
  • 11. Introdução SQL Tópicos Adicionais Join Order By Between Alias Functions
  • 12. Exercício 1 https://app.dcc.ufba.br/phpmyadmin/ Login: ramonp061 Password: *********** Clicar em SQL (Centro Superior) Tabela: Pessoas Executar variações dos comandos mostrados anteriormente
  • 13. demo
  • 14. JDBC Padrão para acessar Banco de Dados Definição de conjunto de iterfaces que são implementadas pelos fabricantes do JDBC Driver Maior parte da API está em java.sql Cada Banco de Dados deve possuir seu Driver JDBC
  • 15. JDBC Fonte: Apostila Caelum Web Fj-21
  • 16. JDBC Passos Adicionar o Driver JDBC ao conjunto de bibliotecas da aplicação Carregar o Driver JDBC Obter uma conexão Criar um PreparedStatement Executar a query Interpretar os resultados Liberar Recursos do sistema
  • 17. JDBC Carregar Driver JDBC Class.forName("com.mysql.jdbc.Driver"); Criar Conexão DriverManager fornece objetos de conexão Objeto Connection referencia a conexão obtida pelo DriverManager Exemplo: Connection con = DriverManager.getConnection();
  • 18. Exercício 2 Criar um novo projeto Adicionar o Driver JDBC ao conjunto de bibliotecas da aplicação Carregar o Driver Abrir uma conexão
  • 19. JDBC PreparedStatement Comando SQL é determinado na criação Comando SQL é pré-compilado Referência obtida através do objeto de conexão Exemplo: PreparedStatement stmt = conn.prepareStatment(“Insert into pessoas values(?)”);
  • 20. JDBC PreparedStatement Uso de parâmetros é uma boa prática Reutilização do comando SQL Parâmetros são indicados por: '?' Métodos setXXX(posição, valor); Exemplo: stmt = conn.prepareStatment(“Insert into pessoas values(?,?)”); stmt.setString(1,”Ramon”); stmt.setInt(2,25);
  • 21. JDBC – Inserindo Dados Exemplo: PreparedStatment stmt = conn.prepareStatment("INSERT INTO pessoas(nome, idade) VALUES(?,?)"); stmt.setString(1, "Ramon"); stmt.setInt(2, 19); stmt.execute(); stmt.close();
  • 22. Exercício 3 Criar um método que receberá como parâmetro dados necessários para inserir uma pessoa Dentro do método criado, criar a PreparedStatement Executar várias chamadas ao método criado com parâmetros diferentes Verificar pelo Netbeans a tabela Pessoa
  • 23. JDBC – Recuperando Dados Execução da query: executeQuery() ResultSet é retornado, contendo resultados da busca Deve-se iterar tal objeto, método: next(); Iterator é inicializado uma posição antes da primeira linha Recupera-se os dados getXXX('coluna');
  • 24. JDBC – Recuperando Dados Exemplo: PreparedStatemnt stmt = conn.prepareStatment(“SELECT * FROM pessoas); ResultSet res = stmt.executeQuery(); while(res.next()){ String s = res.getString(“nome); } res.close(); stmt.close();
  • 25. JDBC – Liberando Recursos Responsabilidade do Programador Implicação em indisponibilidade futura de recursos Feita atrvés do método close() Ordem a ser feita: ResultSet Statement Connection
  • 26. Exercício 4 Recuperar e exibir todas as pessoas cadastradas no banco Executar operações de DELETE / UPDATE Seguem praticamente o mesmo padrão Método executeUpdate();
  • 27. JavaBeans Componentes reutilizáveis Implementa-se Serializable Construtor sem parâmetros Atributos private Métodos getters e setters Regras de nomeação
  • 28. Exercício 5 Criar um JavaBean Tabela: Pessoa Atributos: nome, idade, ano Gerar getters e setters
  • 29. Padrão de Projetos DAO Encapsular o acesso ao Banco de Dados Ex: A classe PessoaDAO conterá todos os métodos responsáveis de interação com a base dados Singleton Garantir uma única instância de uma classe Ex: Utilizamos para garantir apenas um único objeto Connection Exemplos
  • 30. Exercício 5 Criar um novo projeto Criar uma classe ConnectionFactory Declarar um atributo de classe private para Connection Disponibilizar um método de classe getConnection para disponibilizar o Connection. Deve-se usar o Singleton Criar uma classe PessoaDAO cujas operações: CRUD
  • 31. Exercício 6 Inserir na classe PessoaDAO um método exclusivo para fechar os recursos passados (Statement, ResultSet) Inserir na Factory um método para fechar Connection
  • 32. Próximos Passos Transactions Stored Procedures Framework ORM
  • 33. Projeto Final Aplicar todo conteúdo que foi visto na implementação do sistema proposto. Deve-se utilizar os padrões de projetos e boas práticas apresentadas. O resultado final desta etapa será utilizado no próximo mini-curso de Java Web e suas ramificações.
  • 34. Java DataBase Connectivity – JDBC Obrigado! Ramon Lopes [email_address]