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.