Acesso a Banco de Dados em Java usando JDBC

utluiz 2,915 views 22 slides Oct 09, 2014
Slide 1
Slide 1 of 22
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9
Slide 10
10
Slide 11
11
Slide 12
12
Slide 13
13
Slide 14
14
Slide 15
15
Slide 16
16
Slide 17
17
Slide 18
18
Slide 19
19
Slide 20
20
Slide 21
21
Slide 22
22

About This Presentation

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 G...


Slide Content

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 Você está aqui

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?