SlideShare ist ein Scribd-Unternehmen logo
1 von 22
Acesso a Banco de
dados com JDBC
12/09/2014
Direitos Autorais
Você está autorizado e incentivado a distribuir este material.
Copie, compartilhe e modifique, apenas cite a fonte.
Direitos Autorais
Luiz Ricardo
luizricardo.org
facebook.com/StateOfTheArtBlog
JDBC
• JDBC é uma interface de acesso padrão a bancos de
dados relacionais (SGBDR)
• É uma API, portanto precisa de implementações
• Gerencia a conexão e o protocolo de comunicação
com o banco
• O acesso é por SQL
Java DataBase Connectivity
JDBC
• Praticamente todos os bancos de dados fornecem
Drivers JDBC
• Comandos SQL são nativos e não portáveis (a não ser
os comandos básicos no padrão ANSI)
Interoperabilidade
JDBC
Arquitetura
Aplicação Java
JDBC API
JDBC Driver Manager
Oracle Driver MySQL Driver SQL Server Driver
Oracle MySQL
SQL
Server
Abrindo a Conexão
DriverManager
DriverManager.getConnection(
url, usuario, senha
);
Abrindo a Conexão
DataSource
DataSource dataSource = ...
dataSource.getConnection();
Conexão
Connection
Connection con =
DriverManager.getConnection(
url, usuario, senha);
Consulta
Statement
Statement s = con.createStatement();
s.executeQuery("select * from TABELA")
Consulta
PreparedStatement
PreparedStatement ps =
con.prepareStatement(
"select * from TABELA where id=?");
ps.setInt(1, id);
ps.executeQuery();
Resultado
ResultSet
ResultSet rs = ps.executeQuery();
if (rs.next()) {
Integer id = rs.getInt("id"));
String descricao =
rs.getString("descricao");
}
Vários Resultados
ResultSet
ResultSet rs = ps.executeQuery();
List<MeuObjeto> lista =
new ArrayList<MeuObjeto>();
while (rs.next()) {
Integer id = rs.getInt("id"));
String descricao =
rs.getString("descricao");
lista.add( new MeuObjeto(id, des) );
}
Inserir
PreparedStatement ps =
con.prepareStatement(
"insert into TABELA (descricao)
values (?)");
ps.setString(1, descricao);
ps.executeUpdate();
Atualizar
PreparedStatement ps =
con.prepareStatement(
"update TABELA set descricao = ?
where id = ? ");
ps.setString(1, descricao);
ps.setInt(2, id);
ps.executeUpdate();
Apagar
PreparedStatement ps =
con.prepareStatement(
"delete TABELA where id = ?");
ps.setInt(1, id);
ps.executeUpdate();
Procedimentos
CallableStatement
CallableStatement cs = con.prepareCall(
"{call MINHA_PROC(?, ?)}" );
cs.setString(1, parametroUm);
cs.registerOutParameter(2, Types.VARCHAR);
cs.executeQuery();
String retorno = cs.getString(2);
DAO
• Um objeto que provê uma interface que abstrai o
acesso a dados
• Lê e grava os dados na origem de dados (banco de
dados, arquivo, memória, etc.)
• Encapsula o acesso aos dados, de forma que as
demais classes não precisam saber sobre isso
Data Access Object
Arquitetura de N Camadas
View (JSP)
Controller
Service
DAO
Banco de
Dados
Exercício
• Crie uma tabela no banco de dados
• Implemente o respectivo DAO, utilizando o
modelo provido junto com este material
Referências
• Java Tutorial
– http://docs.oracle.com/javase/tutorial/jdbc/basics/
Não tenha medo...
Dúvidas?

Weitere ähnliche Inhalte

Was ist angesagt?

Java orientação a objetos (variaveis de instancia e metodos)
Java   orientação a objetos (variaveis de instancia e metodos)Java   orientação a objetos (variaveis de instancia e metodos)
Java orientação a objetos (variaveis de instancia e metodos)
Armando Daniel
 
Minicurso de JavaScript (Portuguese)
Minicurso de JavaScript (Portuguese)Minicurso de JavaScript (Portuguese)
Minicurso de JavaScript (Portuguese)
Bruno Grange
 
Curso de css3 unidade 1 - introdução ao css
Curso de css3   unidade 1 - introdução ao cssCurso de css3   unidade 1 - introdução ao css
Curso de css3 unidade 1 - introdução ao css
Léo Dias
 

Was ist angesagt? (20)

Java orientação a objetos (variaveis de instancia e metodos)
Java   orientação a objetos (variaveis de instancia e metodos)Java   orientação a objetos (variaveis de instancia e metodos)
Java orientação a objetos (variaveis de instancia e metodos)
 
Curso de HTML5 - Aula 01
Curso de HTML5 - Aula 01   Curso de HTML5 - Aula 01
Curso de HTML5 - Aula 01
 
Tratamento de exceções java
Tratamento de exceções   javaTratamento de exceções   java
Tratamento de exceções java
 
Introdução a php
Introdução a phpIntrodução a php
Introdução a php
 
Minicurso de JavaScript (Portuguese)
Minicurso de JavaScript (Portuguese)Minicurso de JavaScript (Portuguese)
Minicurso de JavaScript (Portuguese)
 
Desvendando a linguagem JavaScript
Desvendando a linguagem JavaScriptDesvendando a linguagem JavaScript
Desvendando a linguagem JavaScript
 
Estrutura de Dados - Aula 02 - Estrutura de Dados e TAD
Estrutura de Dados - Aula 02 - Estrutura de Dados e TADEstrutura de Dados - Aula 02 - Estrutura de Dados e TAD
Estrutura de Dados - Aula 02 - Estrutura de Dados e TAD
 
Introdução a JavaScript
Introdução a JavaScriptIntrodução a JavaScript
Introdução a JavaScript
 
Curso de Desenvolvimento Web - Módulo 03 - JavaScript
Curso de Desenvolvimento Web - Módulo 03 - JavaScriptCurso de Desenvolvimento Web - Módulo 03 - JavaScript
Curso de Desenvolvimento Web - Módulo 03 - JavaScript
 
JAVA - Herança
JAVA - HerançaJAVA - Herança
JAVA - Herança
 
13 Java Script - Validação de formulário
13 Java Script  - Validação de formulário13 Java Script  - Validação de formulário
13 Java Script - Validação de formulário
 
Javascript (parte 1)
Javascript (parte 1)Javascript (parte 1)
Javascript (parte 1)
 
Aula 5 - Dicionário de Dados
Aula 5 - Dicionário de DadosAula 5 - Dicionário de Dados
Aula 5 - Dicionário de Dados
 
Aula javascript
Aula  javascriptAula  javascript
Aula javascript
 
Banco de Dados Conceitos
Banco de Dados ConceitosBanco de Dados Conceitos
Banco de Dados Conceitos
 
Vetores, Matrizes e Strings em C Parte 1
Vetores, Matrizes e Strings em C Parte 1Vetores, Matrizes e Strings em C Parte 1
Vetores, Matrizes e Strings em C Parte 1
 
BD I - Aula 08 A - Algebra Relacional
BD I - Aula 08 A - Algebra RelacionalBD I - Aula 08 A - Algebra Relacional
BD I - Aula 08 A - Algebra Relacional
 
Curso de Desenvolvimento Web - Módulo 01 - HTML
Curso de Desenvolvimento Web - Módulo 01 - HTMLCurso de Desenvolvimento Web - Módulo 01 - HTML
Curso de Desenvolvimento Web - Módulo 01 - HTML
 
Mer - Modelo Entidade Relacionamento
Mer - Modelo Entidade RelacionamentoMer - Modelo Entidade Relacionamento
Mer - Modelo Entidade Relacionamento
 
Curso de css3 unidade 1 - introdução ao css
Curso de css3   unidade 1 - introdução ao cssCurso de css3   unidade 1 - introdução ao css
Curso de css3 unidade 1 - introdução ao css
 

Andere mochten auch

Como um grande sistema REST funciona - arquitetura e desempenho
Como um grande sistema REST funciona - arquitetura e desempenhoComo um grande sistema REST funciona - arquitetura e desempenho
Como um grande sistema REST funciona - arquitetura e desempenho
David Robert Camargo de Campos
 
O uso dos porquês
O uso dos porquêsO uso dos porquês
O uso dos porquês
Rebeca Kaus
 
Viva jovem, venha conhecer!
Viva jovem, venha conhecer!Viva jovem, venha conhecer!
Viva jovem, venha conhecer!
Rebeca Kaus
 

Andere mochten auch (20)

CONEXÃO BANCO DE DADOS MYSQL COM JAVA
CONEXÃO BANCO DE DADOS MYSQL  COM JAVACONEXÃO BANCO DE DADOS MYSQL  COM JAVA
CONEXÃO BANCO DE DADOS MYSQL COM JAVA
 
JSP - Expression Language
JSP - Expression LanguageJSP - Expression Language
JSP - Expression Language
 
Como um grande sistema REST funciona - arquitetura e desempenho
Como um grande sistema REST funciona - arquitetura e desempenhoComo um grande sistema REST funciona - arquitetura e desempenho
Como um grande sistema REST funciona - arquitetura e desempenho
 
Aula1
Aula1Aula1
Aula1
 
Conectando seu banco de dados usando jdbc
Conectando seu banco de dados usando jdbcConectando seu banco de dados usando jdbc
Conectando seu banco de dados usando jdbc
 
Confirurando Dababase Development no Eclipse Luna
Confirurando Dababase Development no Eclipse LunaConfirurando Dababase Development no Eclipse Luna
Confirurando Dababase Development no Eclipse Luna
 
Tutorial MySQL com Java
Tutorial MySQL com JavaTutorial MySQL com Java
Tutorial MySQL com Java
 
Baixo Acoplamento e Alta Coesão
Baixo Acoplamento e Alta CoesãoBaixo Acoplamento e Alta Coesão
Baixo Acoplamento e Alta Coesão
 
Aula 03-Tutorial ETL com PDI
Aula 03-Tutorial ETL com PDIAula 03-Tutorial ETL com PDI
Aula 03-Tutorial ETL com PDI
 
REST – Desmistificando A Implementação De Web Services REST Em Java Monografia
REST – Desmistificando A Implementação De Web Services REST Em Java MonografiaREST – Desmistificando A Implementação De Web Services REST Em Java Monografia
REST – Desmistificando A Implementação De Web Services REST Em Java Monografia
 
Gestão de Projetos - Exemplo de Documentação de Projeto
Gestão de Projetos - Exemplo de Documentação de ProjetoGestão de Projetos - Exemplo de Documentação de Projeto
Gestão de Projetos - Exemplo de Documentação de Projeto
 
O uso dos porquês
O uso dos porquêsO uso dos porquês
O uso dos porquês
 
Refatoração e Boas Práticas no Desenvolvimento de Software com a Linguagem Ja...
Refatoração e Boas Práticas no Desenvolvimento de Software com a Linguagem Ja...Refatoração e Boas Práticas no Desenvolvimento de Software com a Linguagem Ja...
Refatoração e Boas Práticas no Desenvolvimento de Software com a Linguagem Ja...
 
Agile Brazil 2013 - Resumo
Agile Brazil 2013 - ResumoAgile Brazil 2013 - Resumo
Agile Brazil 2013 - Resumo
 
Boa Práticas no Desenvolvimento Java Enterprise
Boa Práticas no Desenvolvimento Java EnterpriseBoa Práticas no Desenvolvimento Java Enterprise
Boa Práticas no Desenvolvimento Java Enterprise
 
Viva jovem, venha conhecer!
Viva jovem, venha conhecer!Viva jovem, venha conhecer!
Viva jovem, venha conhecer!
 
Semanal fechada 6 ano
Semanal fechada 6 anoSemanal fechada 6 ano
Semanal fechada 6 ano
 
4 Tarefa Plano Aula Bullying Claudia Cunha O Ignacio
4 Tarefa Plano Aula Bullying Claudia Cunha O Ignacio4 Tarefa Plano Aula Bullying Claudia Cunha O Ignacio
4 Tarefa Plano Aula Bullying Claudia Cunha O Ignacio
 
Introdução aos Servlets e JSPs
Introdução aos Servlets e JSPsIntrodução aos Servlets e JSPs
Introdução aos Servlets e JSPs
 
Certificações Java
Certificações JavaCertificações Java
Certificações Java
 

Ähnlich wie Acesso a Banco de Dados em Java usando JDBC

Acesso a banco de dados com JDBC
Acesso a banco de dados com JDBCAcesso a banco de dados com JDBC
Acesso a banco de dados com JDBC
Eduardo Mendes
 
Livropythonmysql 091022073751-phpapp01
Livropythonmysql 091022073751-phpapp01Livropythonmysql 091022073751-phpapp01
Livropythonmysql 091022073751-phpapp01
julianabdpaiva
 

Ähnlich wie Acesso a Banco de Dados em Java usando JDBC (20)

Fundamentos de JDBC
Fundamentos de JDBCFundamentos de JDBC
Fundamentos de JDBC
 
Fundamentos de JDBC
Fundamentos de JDBCFundamentos de JDBC
Fundamentos de JDBC
 
Fundamentos de JDBC
Fundamentos de JDBCFundamentos de JDBC
Fundamentos de JDBC
 
Acesso a banco de dados com JDBC
Acesso a banco de dados com JDBCAcesso a banco de dados com JDBC
Acesso a banco de dados com JDBC
 
Persistência Java: Hibernate e JPA
Persistência Java: Hibernate e JPAPersistência Java: Hibernate e JPA
Persistência Java: Hibernate e JPA
 
Jdbc, JAVA DATABASE CONNECTIVITY
Jdbc, JAVA DATABASE CONNECTIVITYJdbc, JAVA DATABASE CONNECTIVITY
Jdbc, JAVA DATABASE CONNECTIVITY
 
Java 16 Jdbc
Java 16 JdbcJava 16 Jdbc
Java 16 Jdbc
 
Introdução ao JDBC - BarreirasJUG
Introdução ao JDBC - BarreirasJUGIntrodução ao JDBC - BarreirasJUG
Introdução ao JDBC - BarreirasJUG
 
Como conectar programas em linguagem java a bases de dados
Como conectar programas em linguagem java  a bases de dadosComo conectar programas em linguagem java  a bases de dados
Como conectar programas em linguagem java a bases de dados
 
Vb
VbVb
Vb
 
Acessando o MySql com o Python
Acessando o MySql com o PythonAcessando o MySql com o Python
Acessando o MySql com o Python
 
Livropythonmysql 091022073751-phpapp01
Livropythonmysql 091022073751-phpapp01Livropythonmysql 091022073751-phpapp01
Livropythonmysql 091022073751-phpapp01
 
JDBC
JDBCJDBC
JDBC
 
Trabalho teorico de Linguagem de Programação
Trabalho teorico de Linguagem de ProgramaçãoTrabalho teorico de Linguagem de Programação
Trabalho teorico de Linguagem de Programação
 
Pdo do PHP Palestra
Pdo do PHP PalestraPdo do PHP Palestra
Pdo do PHP Palestra
 
PHP Aula07 - conexão Com Banco de Dados
PHP Aula07 - conexão Com Banco de DadosPHP Aula07 - conexão Com Banco de Dados
PHP Aula07 - conexão Com Banco de Dados
 
Java database connectivity jdbc
Java database connectivity   jdbcJava database connectivity   jdbc
Java database connectivity jdbc
 
Prog web 05-php-mysql
Prog web 05-php-mysqlProg web 05-php-mysql
Prog web 05-php-mysql
 
PHP e Mysql - DELETE
PHP e Mysql - DELETEPHP e Mysql - DELETE
PHP e Mysql - DELETE
 
Persistência de Dados no SQLite com Room
Persistência de Dados no SQLite com RoomPersistência de Dados no SQLite com Room
Persistência de Dados no SQLite com Room
 

Acesso a Banco de Dados em Java usando JDBC