@Override public Contato getContato(int cdContato) throws Exception { sql = new StringBuilder(); sql.append("select * from Contato where cdContato=?"); Contato contato = null; try { cn = FabricaDeConexao.getConnection(); stmt = cn.prepareStatement(sql.toString()); stmt.setInt(1, cdContato); System.out.println(stmt); rs = stmt.executeQuery(); ITelefoneDAO telefoneDAO = new TelefoneDAO(); IEmailDAO emailDAO = new EmailDAO(); while (rs.next()) { contato = new Contato(); contato.setCdContato(rs.getInt("cdContato")); contato.setNmContato(rs.getString("nmContato")); contato.setNmCaminhoFoto(rs.getString("nmCaminhoFoto")); contato.setNmLogin(rs.getString("nmLogin")); contato.setEmails(emailDAO.getEmailsContato(contato.getCdContato())); contato.setTelefones(telefoneDAO.getTelefonesContato(contato.getCdContato())); } } catch (SQLException e) { throw e; } finally { fecharConexoes(); } return contato; }
@Override public List<Contato> consultar(String colunas, String condicao) throws Exception { sql = new StringBuilder(); sql.append("select ? from Contato where ?"); List<Contato> contatos = null; try { cn = FabricaDeConexao.getConnection(); st = cn.createStatement(); String sql2 = sql.toString().replace("?", colunas).replace("?", condicao); System.out.println(sql2); rs = st.executeQuery(sql2); contatos = new ArrayList<Contato>(); Contato contato = null; ITelefoneDAO telefoneDAO = new TelefoneDAO(); IEmailDAO emailDAO = new EmailDAO(); while (rs.next()) { contato = new Contato(); contato.setCdContato(rs.getInt("cdContato")); contato.setNmContato(rs.getString("nmContato")); contato.setNmCaminhoFoto(rs.getString("nmCaminhoFoto")); contato.setNmLogin(rs.getString("nmLogin")); contato.setEmails(emailDAO.getEmailsContato(contato.getCdContato())); contato.setTelefones(telefoneDAO.getTelefonesContato(contato.getCdContato())); contatos.add(contato); } } catch (SQLException e) { throw e; } finally { fecharConexoes(); } return contatos; }
@Override public List<Contato> consultar(int inicio, int qtRegistros) throws Exception { sql = new StringBuilder(); sql.append("SELECT * FROM Contato"); sql.append("LIMIT ?, ?"); List<Contato> contatos = null; try { cn = FabricaDeConexao.getConnection(); stmt = cn.prepareStatement(sql.toString()); stmt.setInt(1, inicio); stmt.setInt(2, qtRegistros); System.out.println(stmt); rs = stmt.executeQuery(); contatos = new ArrayList<Contato>(); Contato contato = null; ITelefoneDAO telefoneDAO = new TelefoneDAO(); IEmailDAO emailDAO = new EmailDAO(); while (rs.next()) { contato = new Contato(); contato.setCdContato(rs.getInt("cdContato")); contato.setNmContato(rs.getString("nmContato")); contato.setNmCaminhoFoto(rs.getString("nmCaminhoFoto")); contato.setNmLogin(rs.getString("nmLogin")); contato.setEmails(emailDAO.getEmailsContato(contato.getCdContato())); contato.setTelefones(telefoneDAO.getTelefonesContato(contato.getCdContato())); contatos.add(contato); } } catch (SQLException e) { throw e; } finally { fecharConexoes(); } return contatos; }
/* exclusao no BD */ public void delete(Object object) throws SQLException { Contato c = (Contato) object; String sql = "delete from contato where cod_contato=?"; PreparedStatement stm = dataSource.getConnection().prepareStatement(sql); stm.setInt(1, c.getCod_contato()); stm.executeUpdate(); System.out.println("Mensagem excluida com sucesso"); }
@Override public void deletar(Contato contato) throws Exception { sql = new StringBuilder(); sql.append("delete from Contato \n"); sql.append("where cdContato=? and nmLogin=?"); try { cn = FabricaDeConexao.getConnection(); stmt = cn.prepareStatement(sql.toString()); stmt.setInt(1, contato.getCdContato()); stmt.setString(2, contato.getNmLogin()); System.out.println(stmt); stmt.execute(); } catch (SQLException e) { throw e; } finally { fecharConexoes(); } }
@Override public void cadastrar(Contato contato) throws Exception { sql = new StringBuilder(); sql.append("insert into Contato (nmContato, nmCaminhoFoto, nmLogin)\n"); sql.append("values (?, ?, ?)"); try { cn = FabricaDeConexao.getConnection(); stmt = cn.prepareStatement(sql.toString()); stmt.setString(1, contato.getNmContato()); stmt.setString(2, contato.getNmCaminhoFoto()); stmt.setString(3, contato.getNmLogin()); System.out.println(stmt); stmt.execute(); } catch (SQLException e) { throw e; } finally { fecharConexoes(); } }
@Override public void alterar(Contato oldContato, Contato newContato) throws Exception { sql = new StringBuilder(); sql.append("update Contato set\n"); sql.append("nmContato=?,\n"); sql.append("nmCaminhoFoto=?,\n"); sql.append("nmLogin=?\n"); sql.append("where cdContato=? and nmLogin=?"); try { cn = FabricaDeConexao.getConnection(); stmt = cn.prepareStatement(sql.toString()); stmt.setString(1, newContato.getNmContato()); stmt.setString(2, newContato.getNmCaminhoFoto()); stmt.setString(3, newContato.getNmLogin()); stmt.setInt(4, oldContato.getCdContato()); stmt.setString(5, oldContato.getNmLogin()); System.out.println(stmt); stmt.execute(); } catch (SQLException e) { throw e; } finally { fecharConexoes(); } }
@Override public List<Contato> getContatosUsuario(int pagina, int qtContatosPagina, Usuario usuario) throws Exception { sql = new StringBuilder(); sql.append("select * from Contato where nmLogin like ? limit ?, ?"); int inicio = (pagina - 1) * qtContatosPagina; List<Contato> contatos = null; try { cn = FabricaDeConexao.getConnection(); stmt = cn.prepareStatement(sql.toString()); stmt.setString(1, usuario.getNmLogin()); stmt.setInt(2, inicio); stmt.setInt(3, qtContatosPagina); System.out.println(stmt); rs = stmt.executeQuery(); contatos = new ArrayList<Contato>(); Contato contato = null; ITelefoneDAO telefoneDAO = new TelefoneDAO(); IEmailDAO emailDAO = new EmailDAO(); while (rs.next()) { contato = new Contato(); contato.setCdContato(rs.getInt("cdContato")); contato.setNmContato(rs.getString("nmContato")); contato.setNmCaminhoFoto(rs.getString("nmCaminhoFoto")); contato.setNmLogin(rs.getString("nmLogin")); contato.setEmails(emailDAO.getEmailsContato(contato.getCdContato())); contato.setTelefones(telefoneDAO.getTelefonesContato(contato.getCdContato())); contatos.add(contato); } } catch (SQLException e) { throw e; } finally { fecharConexoes(); } return contatos; }
/* atualizacao no BD */ public void update(Object object) throws SQLException { Contato c = (Contato) object; String sql = "update contato set " + "nome=?,idade=?,tel=?,mensagem=? " + "where cod_contato=?"; PreparedStatement stm = dataSource.getConnection().prepareStatement(sql); stm.setString(1, c.getNome()); stm.setInt(2, c.getIdade()); stm.setString(3, c.getTel()); stm.setString(4, c.getMensagem()); stm.setInt(5, c.getCod_contato()); stm.executeUpdate(); System.out.println("Update realizado!"); }
/* consulta no BD */ public ArrayList<Contato> readAll() throws SQLException { ResultSet rs; ArrayList<Contato> contatos = new ArrayList<Contato>(); String sql = "select * from contato"; PreparedStatement stm = dataSource.getConnection().prepareStatement(sql); rs = stm.executeQuery(); while (rs.next()) { Contato c = new Contato(); c.setNome(rs.getString(1)); c.setIdade(rs.getInt(2)); c.setTel(rs.getString(3)); c.setMensagem(rs.getString(4)); c.setCod_contato(rs.getInt(5)); contatos.add(c); System.out.println("Consulta ok!"); } return contatos; }
/* inserção no BD */ @Override public void create(Object object) throws SQLException { Contato contato = (Contato) object; String sql = "insert into contato (nome, idade, tel, mensagem, cod_contato) " + "values(?,?,?,?,?)"; PreparedStatement stm = dataSource.getConnection().prepareStatement(sql); stm.setString(1, contato.getNome()); stm.setInt(2, contato.getIdade()); stm.setString(3, contato.getTel()); stm.setString(4, contato.getMensagem()); stm.setInt(5, contato.getCod_contato()); stm.executeUpdate(); System.out.println("Mensagem enviada com sucesso"); }
/* consulta no BD */ public Object read(Object key) throws SQLException { Integer cod_contato = (Integer) key; ResultSet rs; String sql = "select * from contato where cod_contato=?"; PreparedStatement stm = dataSource.getConnection().prepareStatement(sql); stm.setLong(1, cod_contato); rs = stm.executeQuery(); if (rs.next()) { Contato contato = new Contato(); contato.setNome(rs.getString(1)); contato.setIdade(rs.getInt(2)); contato.setTel(rs.getString(3)); contato.setMensagem(rs.getString(4)); contato.setCod_contato(rs.getInt(5)); return contato; } return null; }