package com.roshka.proyectofinal.Postulante; import com.roshka.proyectofinal.DataBase; import com.roshka.proyectofinal.entity.Postulante; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.util.ArrayList; import java.util.List; public class PostulanteDao { List postulante = null; public static int save(Postulante postulante){ int status=0; try{ Connection con= DataBase.getConnection(); PreparedStatement ps=con.prepareStatement( "insert into postulante(nombre,apellido,nro_cedula,correo,telefono,direccion,experiencia_laboral,estudio_universitario,notebook,bootcamp_id,aceptado) values (?,?,?,?,?,?,?,?,?,?,?)"); ps.setString(1,postulante.getNombre()); ps.setString(2,postulante.getApellido()); ps.setInt(3,postulante.getNro_cedula()); ps.setString(4,postulante.getCorreo()); ps.setString(5,postulante.getTelefono()); ps.setString(6,postulante.getDireccion()); ps.setBoolean(7,postulante.getExpLaboral()); ps.setBoolean(8,postulante.getEstudioUniversitario()); ps.setBoolean(9,postulante.getNotebook()); ps.setInt(10,postulante.getBootcampId()); ps.setBoolean(11,postulante.getAceptado()); status=ps.executeUpdate(); con.close(); }catch(Exception ex){ex.printStackTrace();} return status; } public static List listarPostulante(){ List postulante = new ArrayList<>(); String sql = "select a.id, a.nombre, a.apellido, a.nro_cedula, a.correo, a.telefono, a.direccion, " + "a.experiencia_laboral, a.estudio_universitario, a.bootcamp_id, a.notebook, c.nombre_lenguaje as bootcamp, \n" + "a.aceptado from postulante a\n" + " inner join bootcamp b on b.id= a.bootcamp_id\n" + " inner join lenguaje c on c.id=b.id_lenguaje\n" + " order by a.id;"; try{ Connection con= DataBase.getConnection(); PreparedStatement ps=con.prepareStatement(sql); ResultSet rs = ps.executeQuery(); while(rs.next()){ Postulante postulanteObject = new Postulante(); postulanteObject.setId(rs.getInt("id")); postulanteObject.setNombre(rs.getString("nombre")); postulanteObject.setApellido(rs.getString("apellido")); postulanteObject.setNroCedula(rs.getInt("nro_cedula")); postulanteObject.setCorreo(rs.getString("correo")); postulanteObject.setTelefono(rs.getString("telefono")); postulanteObject.setDireccion(rs.getString("direccion")); postulanteObject.setExpLaboral(rs.getBoolean("experiencia_laboral")); postulanteObject.setEstudioUniversitario(rs.getBoolean("estudio_universitario")); postulanteObject.setBootcampId(rs.getInt("bootcamp_id")); postulanteObject.setNotebook(rs.getBoolean("notebook")); postulanteObject.setNombreBootcamp(rs.getString("bootcamp")); postulanteObject.setAceptado(rs.getBoolean("aceptado")); postulante.add(postulanteObject); } con.close(); } catch (SQLException e) { throw new RuntimeException(e); } return postulante; } public static void update(int id, Boolean valor){ if(valor==true){ try{ Connection con= DataBase.getConnection(); PreparedStatement ps=con.prepareStatement("update postulante set aceptado= false\n" + "where id=?"); ps.setInt(1,id); ps.executeUpdate(); con.close(); }catch(Exception ex){ ex.printStackTrace(); } }else { try{ Connection con= DataBase.getConnection(); PreparedStatement ps=con.prepareStatement("update postulante set aceptado= true\n" + "where id=?"); ps.setInt(1,id); ps.executeUpdate(); con.close(); }catch(Exception ex){ ex.printStackTrace(); } } } public static List buscarPorNombre(String nombre){ List postulante = null; Postulante postulanteObject = null; try{ Connection con= DataBase.getConnection(); PreparedStatement ps=con.prepareStatement("select a.id, a.nombre, a.apellido, a.nro_cedula, a.correo, " + "a.telefono, a.direccion, a.experiencia_laboral, a.estudio_universitario, a.bootcamp_id, a.notebook, " + "c.nombre_lenguaje as bootcamp, \n" + "a.aceptado from postulante a\n" + " inner join bootcamp b on b.id= a.bootcamp_id\n" + " inner join lenguaje c on c.id=b.id_lenguaje\n" + " where a.nombre ilike ? "); ps.setString(1, "%" + nombre + "%"); System.out.println(nombre); ResultSet rs = ps.executeQuery(); postulante = new ArrayList<>(); postulanteObject= new Postulante(); while(rs.next()){ postulanteObject.setId(rs.getInt("id")); postulanteObject.setNombre(rs.getString("nombre")); postulanteObject.setApellido(rs.getString("apellido")); postulanteObject.setNroCedula(rs.getInt("nro_cedula")); postulanteObject.setCorreo(rs.getString("correo")); postulanteObject.setTelefono(rs.getString("telefono")); postulanteObject.setDireccion(rs.getString("direccion")); postulanteObject.setExpLaboral(rs.getBoolean("experiencia_laboral")); postulanteObject.setEstudioUniversitario(rs.getBoolean("estudio_universitario")); postulanteObject.setBootcampId(rs.getInt("bootcamp_id")); postulanteObject.setNotebook(rs.getBoolean("notebook")); postulanteObject.setNombreBootcamp(rs.getString("bootcamp")); postulanteObject.setAceptado(rs.getBoolean("aceptado")); postulante.add(postulanteObject); } con.close(); }catch(Exception ex){ ex.printStackTrace(); } return postulante; } public static List listarPostulanteAceptados(){ List postulante = null; try{ Connection con= DataBase.getConnection(); PreparedStatement ps=con.prepareStatement("select a.id, a.nombre, a.apellido, a.nro_cedula, a.correo, " + "a.telefono, a.direccion, a.experiencia_laboral, a.estudio_universitario, a.bootcamp_id, a.notebook, " + "c.nombre_lenguaje as bootcamp, \n" + "a.aceptado from postulante a\n" + " inner join bootcamp b on b.id= a.bootcamp_id\n" + " inner join lenguaje c on c.id=b.id_lenguaje\n" + " where a.aceptado= true "); ResultSet rs = ps.executeQuery(); postulante = new ArrayList<>(); Postulante postulanteObject= new Postulante(); while(rs.next()){ postulanteObject.setId(rs.getInt("id")); postulanteObject.setNombre(rs.getString("nombre")); postulanteObject.setApellido(rs.getString("apellido")); postulanteObject.setNroCedula(rs.getInt("nro_cedula")); postulanteObject.setCorreo(rs.getString("correo")); postulanteObject.setTelefono(rs.getString("telefono")); postulanteObject.setDireccion(rs.getString("direccion")); postulanteObject.setExpLaboral(rs.getBoolean("experiencia_laboral")); postulanteObject.setEstudioUniversitario(rs.getBoolean("estudio_universitario")); postulanteObject.setBootcampId(rs.getInt("bootcamp_id")); postulanteObject.setNotebook(rs.getBoolean("notebook")); postulanteObject.setNombreBootcamp(rs.getString("bootcamp")); postulanteObject.setAceptado(rs.getBoolean("aceptado")); postulante.add(postulanteObject); } con.close(); }catch(Exception ex){ ex.printStackTrace(); } return postulante; } public static List listarPorBootcamp(String nombre){ List postulante = null; try{ Connection con= DataBase.getConnection(); PreparedStatement ps=con.prepareStatement("select a.id, a.nombre, a.apellido, a.nro_cedula, a.correo, a.telefono, a.direccion, \n" + " a.experiencia_laboral, a.estudio_universitario, a.bootcamp_id, a.notebook, c.nombre_lenguaje as bootcamp, \n" + " a.aceptado from postulante a\n" + " inner join bootcamp b on b.id= a.bootcamp_id\n" + " inner join lenguaje c on c.id=b.id_lenguaje\n" + " where c.nombre_lenguaje ilike ? "); ps.setString(1, "%" + nombre + "%"); ResultSet rs = ps.executeQuery(); postulante = new ArrayList<>(); Postulante postulanteObject= new Postulante(); while(rs.next()){ postulanteObject.setId(rs.getInt("id")); postulanteObject.setNombre(rs.getString("nombre")); postulanteObject.setApellido(rs.getString("apellido")); postulanteObject.setNroCedula(rs.getInt("nro_cedula")); postulanteObject.setCorreo(rs.getString("correo")); postulanteObject.setTelefono(rs.getString("telefono")); postulanteObject.setDireccion(rs.getString("direccion")); postulanteObject.setExpLaboral(rs.getBoolean("experiencia_laboral")); postulanteObject.setEstudioUniversitario(rs.getBoolean("estudio_universitario")); postulanteObject.setBootcampId(rs.getInt("bootcamp_id")); postulanteObject.setNotebook(rs.getBoolean("notebook")); postulanteObject.setNombreBootcamp(rs.getString("bootcamp")); postulanteObject.setAceptado(rs.getBoolean("aceptado")); postulante.add(postulanteObject); } con.close(); }catch(Exception ex){ ex.printStackTrace(); } return postulante; } public static List buscarPorNoteBook(){ List postulante = null; Postulante postulanteObject = null; try{ Connection con= DataBase.getConnection(); PreparedStatement ps=con.prepareStatement("select a.id, a.nombre, a.apellido, a.nro_cedula, a.correo, " + "a.telefono, a.direccion, a.experiencia_laboral, a.estudio_universitario, a.bootcamp_id, a.notebook, " + "c.nombre_lenguaje as bootcamp, \n" + "a.aceptado from postulante a\n" + " inner join bootcamp b on b.id= a.bootcamp_id\n" + " inner join lenguaje c on c.id=b.id_lenguaje\n" + " where a.notebook=true "); ResultSet rs = ps.executeQuery(); postulante = new ArrayList<>(); postulanteObject= new Postulante(); while(rs.next()){ postulanteObject.setId(rs.getInt("id")); postulanteObject.setNombre(rs.getString("nombre")); postulanteObject.setApellido(rs.getString("apellido")); postulanteObject.setNroCedula(rs.getInt("nro_cedula")); postulanteObject.setCorreo(rs.getString("correo")); postulanteObject.setTelefono(rs.getString("telefono")); postulanteObject.setDireccion(rs.getString("direccion")); postulanteObject.setExpLaboral(rs.getBoolean("experiencia_laboral")); postulanteObject.setEstudioUniversitario(rs.getBoolean("estudio_universitario")); postulanteObject.setBootcampId(rs.getInt("bootcamp_id")); postulanteObject.setNotebook(rs.getBoolean("notebook")); postulanteObject.setNombreBootcamp(rs.getString("bootcamp")); postulanteObject.setAceptado(rs.getBoolean("aceptado")); postulante.add(postulanteObject); } con.close(); }catch(Exception ex){ ex.printStackTrace(); } return postulante; } }