Upload
antonio-passos
View
8.160
Download
1
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
Manipulando bancos de dados com JDBC
Prof. Antonio Passos
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
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);
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);}
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();
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)
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()); } }}
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()); } }}
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.