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 ci...
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 implem...
JDBC
• Praticamente todos os bancos de dados fornecem
Drivers JDBC
• Comandos SQL são nativos e não portáveis (a não ser
o...
JDBC
Arquitetura
Aplicação Java
JDBC API
JDBC Driver Manager
Oracle Driver MySQL Driver SQL Server Driver
Oracle MySQL
SQL...
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, i...
Resultado
ResultSet
ResultSet rs = ps.executeQuery();
if (rs.next()) {
Integer id = rs.getInt("id"));
String descricao =
r...
Vários Resultados
ResultSet
ResultSet rs = ps.executeQuery();
List<MeuObjeto> lista =
new ArrayList<MeuObjeto>();
while (r...
Inserir
PreparedStatement ps =
con.prepareStatement(
"insert into TABELA (descricao)
values (?)");
ps.setString(1, descric...
Atualizar
PreparedStatement ps =
con.prepareStatement(
"update TABELA set descricao = ?
where id = ? ");
ps.setString(1, d...
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, param...
DAO
• Um objeto que provê uma interface que abstrai o
acesso a dados
• Lê e grava os dados na origem de dados (banco de
da...
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 ma...
Referências
• Java Tutorial
– http://docs.oracle.com/javase/tutorial/jdbc/basics/
Não tenha medo...
Dúvidas?
Próximos SlideShares
Carregando em…5
×

Acesso a Banco de Dados em Java usando JDBC

1.139 visualizações

Publicada em

Slides para aula de como acessar bancos de dados em Java usando JDBC.

A apresentação é curta, mas inclui as principais informações sobre a API JDBC (DataSource, Connection, Statement, PreparedStatement) e exemplos de código para explanação.

O código-fonte de exemplo está disponível no GitHub: https://github.com/utluiz/jdbc-example

Publicada em: Software
0 comentários
0 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Sem downloads
Visualizações
Visualizações totais
1.139
No SlideShare
0
A partir de incorporações
0
Número de incorporações
23
Ações
Compartilhamentos
0
Downloads
77
Comentários
0
Gostaram
0
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Acesso a Banco de Dados em Java usando JDBC

  1. 1. Acesso a Banco de dados com JDBC 12/09/2014
  2. 2. Direitos Autorais Você está autorizado e incentivado a distribuir este material. Copie, compartilhe e modifique, apenas cite a fonte.
  3. 3. Direitos Autorais Luiz Ricardo luizricardo.org facebook.com/StateOfTheArtBlog
  4. 4. 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
  5. 5. 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
  6. 6. JDBC Arquitetura Aplicação Java JDBC API JDBC Driver Manager Oracle Driver MySQL Driver SQL Server Driver Oracle MySQL SQL Server
  7. 7. Abrindo a Conexão DriverManager DriverManager.getConnection( url, usuario, senha );
  8. 8. Abrindo a Conexão DataSource DataSource dataSource = ... dataSource.getConnection();
  9. 9. Conexão Connection Connection con = DriverManager.getConnection( url, usuario, senha);
  10. 10. Consulta Statement Statement s = con.createStatement(); s.executeQuery("select * from TABELA")
  11. 11. Consulta PreparedStatement PreparedStatement ps = con.prepareStatement( "select * from TABELA where id=?"); ps.setInt(1, id); ps.executeQuery();
  12. 12. Resultado ResultSet ResultSet rs = ps.executeQuery(); if (rs.next()) { Integer id = rs.getInt("id")); String descricao = rs.getString("descricao"); }
  13. 13. 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) ); }
  14. 14. Inserir PreparedStatement ps = con.prepareStatement( "insert into TABELA (descricao) values (?)"); ps.setString(1, descricao); ps.executeUpdate();
  15. 15. Atualizar PreparedStatement ps = con.prepareStatement( "update TABELA set descricao = ? where id = ? "); ps.setString(1, descricao); ps.setInt(2, id); ps.executeUpdate();
  16. 16. Apagar PreparedStatement ps = con.prepareStatement( "delete TABELA where id = ?"); ps.setInt(1, id); ps.executeUpdate();
  17. 17. 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);
  18. 18. 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
  19. 19. Arquitetura de N Camadas View (JSP) Controller Service DAO Banco de Dados
  20. 20. Exercício • Crie uma tabela no banco de dados • Implemente o respectivo DAO, utilizando o modelo provido junto com este material
  21. 21. Referências • Java Tutorial – http://docs.oracle.com/javase/tutorial/jdbc/basics/
  22. 22. Não tenha medo... Dúvidas?

×