Ejemplo n.º 1
0
  private Pessoa carregar(ResultSet rs) throws SQLException {

    Pessoa pessoa = new Pessoa();
    pessoa.setId(rs.getInt("id"));
    pessoa.setNome(rs.getString("nome"));
    pessoa.setEmail(rs.getString("email"));
    pessoa.setTelefone(rs.getString("telefone"));
    return pessoa;
  }
Ejemplo n.º 2
0
  @Override
  public Pessoa salvar(Pessoa pessoa) throws DataAccessException {
    try {
      // 1) Conectar ao banco
      conectar();
      String sql = null;
      PreparedStatement stmt = null;

      if (pessoa.getId() == null) {
        // insert
        sql = "INSERT INTO pessoas " + "(nome, email, telefone, tipo) " + "VALUES" + "(?, ?, ?, 0)";
        stmt = con.prepareStatement(sql, Statement.RETURN_GENERATED_KEYS);
      } else {
        // update
        sql = "UPDATE pessoas SET nome=?, " + "email=?, telefone=? " + "WHERE id=?";
        stmt = con.prepareStatement(sql);
        stmt.setInt(4, pessoa.getId());
      }
      // seta o nome, email e telefone
      stmt.setString(1, pessoa.getNome());
      stmt.setString(2, pessoa.getEmail());
      stmt.setString(3, pessoa.getTelefone());

      stmt.executeUpdate();
      int id = 0;
      if (pessoa.getId() == null) {
        // recuperar o id atribuido pelo banco
        ResultSet rs = stmt.getGeneratedKeys();
        rs.next();
        id = rs.getInt(1);
      } else {
        id = pessoa.getId();
      }

      return recuperarPorId(id);

    } catch (SQLException e) {
      throw new DataAccessException(e);
    } finally {
      try {
        // 5) Fechar a conex�o com o banco
        desconectar();
      } catch (SQLException e) {
        throw new DataAccessException(e);
      }
    }
  }