Java :: Persistência de Dados Igor Borlot Borba igor@igorborba.com.br Aula 01 – Java Database Connectivity (JDBC) Java :: Persistência de Dados
Agenda O que é JDBC? A API de JDBC Utilizando JDBC Material de Referência Nesta apresentação conheceremos sobre a definição de JDBC, seus tipos driver, compreender a necessidade de cada driver e como utilizar o driver JDBC.
O que é JDBC? Java Database Connectivity; É um conjunto de classes e interfaces (API) encontradas no pacote java.sql; Fazem o envio de instruções SQL para qualquer banco de dados relacional; Para cada banco de dados há um driver JDBC que pode cair em quatro categorias.
O que é JDBC? Um driver JDBC para cada banco
O que é JDBC? Tipos de Driver
A API de JDBC As classes indicadas em vermelho no diagrama acima indicam que são as mais utilizadas em 90% dos casos. Dependendo da estruturação de seu projeto poderemos omitir o uso de todas estas classes.
A API de JDBC
Utilizando JDBC Como criar uma conexão com o o banco de dados? Uso dos principais métodos da Interface java.sql.Connection Class.forName(“org.apache.derby.jdbc.ClientDriver”); //somnete em Java 5 (ou inferior) Connection con = DriverManager.getConnection(jdbcURL); … //Execute suas instruções SQL com Statement ou PreparedStatement con.commit(); … con.rollback(); if (con != null && !con.isClosed()) { con.close(); } O uso de do termo Class.forName(“<<nome da class do driver>>”) somente é necessário no Java 5 ou inferior. Observe que a classe do driver não é carregado, logo precisamos carregar o utilizando termo Class.forName(“”).
Utilizando JDBC JDBC URL (String de Conexão) Login Senha Mas que dados preciso para me conectar a um banco de dados? JDBC URL (String de Conexão) Login Senha
jdbc:[dbid]:[subsubprotocol:][databaseName][;attribute=value]* Utilizando JDBC Mas qual é o formato da JDBC URL? jdbc:[dbid]:[subsubprotocol:][databaseName][;attribute=value]* dbid identificador do produto de SGBD. subprotocol opcional, permite que defina como o driver é operado. databasename nome do banco de dados. attribute=value atributo e valor para definição de valores de configuração específica do driver. Para maiores detalhes consulte o hyperlink http://download.oracle.com/javase/tutorial/jdbc/basics/connecting.html#drivermanager. Um ponto de atenção ao termo “attribute=value”, você pode passar o usuáiro e senha, bem como comportamento específicos do driver com compactação de dados e definição do tamanho do pacote trafegado para que possa melhorar a performance em conexões de baixa estreita.
Utilizando JDBC Mas qual é o formato da JDBC URL? jdbc:derby://localhost:1527/produtos Identificador do Produto de Banco de Dados Endereço IP ou Nome do Servidor de Banco e Porta Nome do Banco de Dados Para maiores detalhes consulte o hyperlink http://download.oracle.com/javase/tutorial/jdbc/basics/connecting.html#drivermanager.
Utilizando JDBC Como INSERIR, ALTERAR e EXCLUIR um registro no banco de dados? Uso dos principais métodos da Interface java.sql.PreparedStatement Connection con = DriverManager.getConnection(jdbcURL); String sqlString = “UPDATE PESSOA SET NM_PESSOA = ? WHERE CD_PESSOA = ?”; PreparedStatement preparedStatement = connection.prepareStatement(sqlString); preparedStatement.setString(1, “IGOR BORLOT BORBA”); preparedStatement.setInt(2, 12); preparedStatement.execute(); preparedStatement.close(); con.close();
Utilizando JDBC Como OBTER um ou mais registros do banco de dados? Uso dos principais métodos da Interface java.sql.ResultSet Connection con = DriverManager.getConnection(jdbcURL); String sqlString = “SELECT NM_PESSOA FROM PESSOA WHERE CD_PESSOA = ?”; PreparedStatement preparedStatement = connection.prepareStatement(sqlString); preparedStatement.setInt(2, 12); ResultSet rs = preparedStatement.executeQuery(); while(rs.next()) { String nomePessoa = resultSet.getString("NM_PESSOA"); } rs.close();
Material de Referência Três hyperlinks interessantes para você começar a estudar: The Java Tutorials JDBC Database Access Tutorial Avançado
Material de Referência Utilize este livro como base em seus estudos sobre JDBC.
Material de Referência Utilize este livro como apoio em seus estudos.
Persistência de Dados com Java Igor Borlot Borba igor@igorborba.com.br Aula 01 – Java Database Connectivity (JDBC) Persistência de Dados com Java