Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
181 changes: 26 additions & 155 deletions ejercicios/Ej05ABMCSimplePersonas/src/data/DataPersona.java
Original file line number Diff line number Diff line change
@@ -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<Categoria> 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<Categoria> cats= new ArrayList<Categoria>();
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;
}

}