9
Manipulando bancos de dados com JDBC Prof. Antonio Passos

Manipulando Bancos de Dados com JDBC

Embed Size (px)

DESCRIPTION

Esta apresentação integra o conjunto de materiais didáticos do curso a distância Desenvolvimento de Aplicativos Desktop em Java Aplicando Padrões de Projeto.

Citation preview

Page 1: Manipulando Bancos de Dados com JDBC

Manipulando bancos de dados com JDBC

Prof. Antonio Passos

Page 2: Manipulando Bancos de Dados com JDBC

Apresentação

Esta apresentação integra os materiais didáticos do curso a distância Desenvolvimento de aplicativos desktop em Java aplicando padrões.

Nesta apresentação é visto como executar instruções SELECT, INSERT, UPDATE e DELETE a partir de aplicativos Java usando JDBC.

Para saber mais sobre este curso, acesse http://ead.antoniopassos.net.

Atenciosamente,

Prof. Antonio Passos

Page 3: Manipulando Bancos de Dados com JDBC

Estabelecendo conexão com o banco de dados usando DriverManager

1)Carrega-se o driver do banco de dados

String driver = "org.h2.Driver";Class.forName("driver");

2)Abre-se a conexão com o banco

String url = "jdbc:h2:tcp://localhost//db/dukeclube/dukeclube";String usuario = "admin";String senha = "adminadmin";

Connection con = DriverManager.getConnection(url, usuario, senha);

Page 4: Manipulando Bancos de Dados com JDBC

Extraindo dados do banco de dadosa)Obter um objeto PreparedStatement

String sql = "SELECT * FROM socio WHERE codigo = ?";PreparedStatement stmt = com.prepareStatement(sql);

b)Atribuir valores aos parâmetros da instrução SQL

long codigo = socio.getCodigo();stmt.setLong(1, codigo);

c)Executar o comando

ResultSet rs = stmt.executeQuery();

d)Percorrer e tratar o resultado

while(rs.next()){    String nome = rs.getString(2);    System.out.println("Sócio: " + nome);}

Page 5: Manipulando Bancos de Dados com JDBC

Alterando dados do banco de dados

a)Obter um objeto PreparedStatement

String sql = "INSERT INTO socio (nome, sobrenome) VALUES (?, ?)";PreparedStatement stmt = com.prepareStatement(sql);

b)Atribuir valores aos parâmetros da instrução SQL

String nome = socio.getNome();String sobrenome = socio.getSobrenome();stmt.setString(1, nome);stmt.setString(2, sobrenome);

c)Executar o comando

stmt.executeUpdate();

Page 6: Manipulando Bancos de Dados com JDBC

Exemplos

No console do H2, forneça as informações da figura e clique em Conectar para criar o banco de dados sampledb.

Crie a tabela socio com o comando SQL abaixo.

CREATE TABLE socio (codigo identity, nome varchar, idade int)

Page 7: Manipulando Bancos de Dados com JDBC

Inserindo registro

import java.sql.*;

public class Main {

  private static String driver = "org.h2.Driver";  private static String url = "jdbc:h2:tcp://localhost//db/sampledb/sampledb";  private static String user = "admin";  private static String password = "adminadmin";

  public static void main(String[] args) {    try {      Class.forName(driver);      Connection con = DriverManager.getConnection(url, user, password);      String sql = "INSERT INTO socio (nome, idade) VALUES (?, ?)";      PreparedStatement stmt = con.prepareStatement(sql);      stmt.setString(1, "Fulano");      stmt.setInt(2, 26);      stmt.executeUpdate();    } catch (ClassNotFoundException ex) {      System.out.println(ex.getMessage());    } catch (SQLException ex) {      System.out.println(ex.getMessage());    }  }}

Page 8: Manipulando Bancos de Dados com JDBC

Extraindo registros

import java.sql.*;public class Main {

  private static String driver = "org.h2.Driver";  private static String url = "jdbc:h2:tcp://localhost//db/sampledb/sampledb";  private static String user = "admin";  private static String password = "adminadmin";

  public static void main(String[] args) {    try {      Class.forName(driver);      Connection con = DriverManager.getConnection(url, user, password);      String sql = "SELECT * FROM socio";      PreparedStatement stmt = con.prepareStatement(sql);      ResultSet rs = stmt.executeQuery();      while(rs.next()){        System.out.println("Nome: " + rs.getString(2) + "\nIdade: " + rs.getInt(3));      }    } catch (ClassNotFoundException ex) {      System.out.println(ex.getMessage());    } catch (SQLException ex) {      System.out.println(ex.getMessage());    }  }}

Page 9: Manipulando Bancos de Dados com JDBC

Referência bibliográfica

PLEW, Ronald R. & STEPHENS, Ryan K. Aprenda em 24 SQL. Rio de Janeiro: Campus, 2000.

DEITEL, H. M. Java: como programar. São Paulo: Pearson Education do Brasil, 2005.

HORSTMANN, Cay. Big Java. Porto Alegre: Bookman, 2004.