Olá,
Este código trazido pelo Guilherme,
package br.com.caelum.jdbc.dao;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List;
import br.com.caelum.jdbc.modelo.Categoria;
import br.com.caelum.jdbc.modelo.Produto;
public class ProdutosDAO {
private final Connection con;
public ProdutosDAO(Connection con) {
this.con = con;
}
public void salva(Produto produto) throws SQLException {
String sql = "insert into Produto (nome, descricao) values (?,?)";
try (PreparedStatement stmt = con.prepareStatement(sql,
Statement.RETURN_GENERATED_KEYS)) {
stmt.setString(1, produto.getNome());
stmt.setString(2, produto.getDescricao());
stmt.execute();
try (ResultSet rs = stmt.getGeneratedKeys()) {
if (rs.next()) {
int id = rs.getInt("id");
produto.setId(id);
}
}
}
}
}
parece-me mais um Tablegateway, em minha opinião.
Para ser um DAO, ele não teria que "se salvar", "se excluir" etc ? Ou seja, algo como
class Pessoa {
private String nome;
public void salvar() {
// salvar no banco this.nome
}
}