diff --git a/ejercicios/Ej05ABMCSimplePersonas/src/data/DataPersona.java b/ejercicios/Ej05ABMCSimplePersonas/src/data/DataPersona.java index 0058900..b197794 100644 --- a/ejercicios/Ej05ABMCSimplePersonas/src/data/DataPersona.java +++ b/ejercicios/Ej05ABMCSimplePersonas/src/data/DataPersona.java @@ -1,172 +1,43 @@ package data; -import java.sql.*; +import java.sql.ResultSet; +import java.sql.SQLException; +import java.sql.Statement; +import java.util.ArrayList; +import entity.Categoria; -import entidades.*; -import utils.ApplicationException; - -public class DataPersona { - - - public DataPersona(){ +public class DataCategoria { + public ArrayList getAll() throws Exception{ - } - - public void add(Persona p){ + Statement stmt=null; ResultSet rs=null; - PreparedStatement stmt=null; - - - try { - stmt=FactoryConexion.getInstancia().getConn().prepareStatement( - "insert into personas(dni,nombre, apellido,habilitado)"+ - " values(?,?,?,?)",PreparedStatement.RETURN_GENERATED_KEYS); - // PreparedStatement.RETURN_GENERATED_KEYS to be able to retrieve id generated on the db - // by the autoincrement column. Otherwise don't use it - - stmt.setInt(1, p.getDni()); - stmt.setString(2, p.getNombre()); - stmt.setString(3, p.getApellido()); - stmt.setBoolean(4, p.isHabilitado()); - stmt.execute(); - - //after executing the insert use the following lines to retrieve the id - rs=stmt.getGeneratedKeys(); - if(rs!=null && rs.next()){ - p.setId(rs.getInt(1)); - } - - } catch (SQLException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } catch (ApplicationException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - }finally { - try { - if(rs!=null) rs.close(); - if(stmt!=null)stmt.close(); - FactoryConexion.getInstancia().releaseConn(); - } catch (ApplicationException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } catch (SQLException e) { - // TODO Auto-generated catch block - e.printStackTrace(); + ArrayList cats= new ArrayList(); + try{ + stmt = FactoryConexion.getInstancia() + .getConn().createStatement(); + rs = stmt.executeQuery("select * from categoria"); + if(rs!=null){ + while(rs.next()){ + Categoria c=new Categoria(); + c.setId_cat(rs.getInt("id_cat")); + c.setNombre_cat(rs.getString("nombre_cat")); + cats.add(c); + } } + } catch (Exception e){ + throw e; } - } - - public void update(Persona p){ - PreparedStatement stmt=null; - try { - stmt= FactoryConexion.getInstancia().getConn().prepareStatement( - "update personas set dni=?, nombre=?, apellido=?, habilitado=?"+ - " where id=?"); - - stmt.setInt(1, p.getDni()); - stmt.setString(2, p.getNombre()); - stmt.setString(3, p.getApellido()); - stmt.setBoolean(4, p.isHabilitado()); - stmt.setInt(5, p.getId()); - stmt.execute(); - - + if(rs!=null) rs.close(); + if(stmt!=null) stmt.close(); + FactoryConexion.getInstancia().releaseConn(); } catch (SQLException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } catch (ApplicationException e) { - // TODO Auto-generated catch block e.printStackTrace(); } - finally { - try { - if(stmt!=null)stmt.close(); - FactoryConexion.getInstancia().releaseConn(); - } catch (SQLException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } catch (ApplicationException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } - } - } - - public void delete(Persona p){ - PreparedStatement stmt=null; - - try { - stmt = FactoryConexion.getInstancia().getConn().prepareStatement( - "delete from personas where id=?"); - stmt.setInt(1, p.getId()); - stmt.execute(); - } catch (SQLException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } catch (ApplicationException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } finally { - try { - if(stmt!=null)stmt.close(); - FactoryConexion.getInstancia().releaseConn(); - } catch (SQLException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } catch (ApplicationException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } - } - - } - - public Persona getByDni(Persona per){ - Persona p=null; - - - PreparedStatement stmt=null; - ResultSet rs=null; - try { - stmt = FactoryConexion.getInstancia().getConn().prepareStatement( - "select id, dni, nombre, apellido, habilitado from personas where dni=?"); - stmt.setInt(1, per.getDni()); - rs= stmt.executeQuery(); - if(rs!=null && rs.next()){ - p=new Persona(); - p.setId(rs.getInt("id")); - p.setDni(rs.getInt("dni")); - p.setNombre(rs.getString("nombre")); - p.setApellido(rs.getString("apellido")); - p.setHabilitado(rs.getBoolean("habilitado")); - } - } catch (SQLException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } catch (ApplicationException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } - finally { - try { - if(rs!=null)rs.close(); - if(stmt!=null)stmt.close(); - FactoryConexion.getInstancia().releaseConn(); - } catch (SQLException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } catch (ApplicationException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } - } - return p; + return cats; } - }