Esempio n. 1
0
 @Override
 public boolean delete(final Profesor entity) throws SQLException {
   String sql = "DELETE FROM profesor WHERE id = ?";
   GenericStatement<Integer> genericStatement = new GenericStatement<Integer>();
   return genericStatement
           .statement(sql)
           .populator(
               new ParameterPopulator() {
                 @Override
                 public void populateParameters(PreparedStatement prepStmt, Connection connection)
                     throws SQLException {
                   prepStmt.setLong(1, entity.getId());
                 }
               })
           .handler(new CountModificationsResultHandler())
           .run()
           .intValue()
       > 0;
 }
Esempio n. 2
0
 @Override
 public void create(final Profesor entity) throws SQLException {
   String sql = "INSERT INTO profesor(id, nombre, apellido, fecha_nacimiento) VALUES (?, ?, ?, ?)";
   GenericStatement<Integer> genericStatement = new GenericStatement<Integer>();
   genericStatement
       .statement(sql)
       .populator(
           new ParameterPopulator() {
             @Override
             public void populateParameters(PreparedStatement prepStmt, Connection connection)
                 throws SQLException {
               prepStmt.setNull(1, Types.INTEGER);
               prepStmt.setString(2, entity.getNombre());
               prepStmt.setString(3, entity.getApellido());
               prepStmt.setDate(4, new java.sql.Date(entity.getFechaNacimiento().getTime()));
             }
           })
       .handler(new GeneratedIdResultHandler<Profesor>(entity))
       .run();
 }
Esempio n. 3
0
 @Override
 public boolean update(final Profesor entity) throws SQLException {
   String sql = "UPDATE profesor SET name = ?, apellido = ?, fecha_nacimiento = ? WHERE id = ?";
   GenericStatement<Integer> genericStatement = new GenericStatement<Integer>();
   return genericStatement
           .statement(sql)
           .populator(
               new ParameterPopulator() {
                 @Override
                 public void populateParameters(PreparedStatement prepStmt, Connection connection)
                     throws SQLException {
                   prepStmt.setString(1, entity.getNombre());
                   prepStmt.setString(2, entity.getApellido());
                   prepStmt.setDate(3, new java.sql.Date(entity.getFechaNacimiento().getTime()));
                   prepStmt.setLong(4, entity.getId());
                 }
               })
           .handler(new CountModificationsResultHandler())
           .run()
           .intValue()
       > 0;
 }
Esempio n. 4
0
 @Override
 public List<Profesor> search(final Profesor entity) throws SQLException {
   StringBuilder sqlBuilder = new StringBuilder("SELECT p.* FROM profesor p ");
   boolean needsAnd = false;
   if (entity != null && entity.getMaterias() != null && !entity.getMaterias().isEmpty()) {
     sqlBuilder.append("INNER JOIN profesores_materias pm ON (p.id = pm.id_profesor) ");
   }
   if (entity != null && entity.getId() != null) {
     sqlBuilder.append("WHERE id = ? ");
     needsAnd = true;
   }
   if (entity != null && entity.getNombre() != null) {
     addSqlNexus(sqlBuilder, needsAnd);
     sqlBuilder.append("nombre = ? ");
   }
   if (entity != null && entity.getApellido() != null) {
     addSqlNexus(sqlBuilder, needsAnd);
     sqlBuilder.append("apellido = ? ");
   }
   if (entity != null && entity.getFechaNacimiento() != null) {
     addSqlNexus(sqlBuilder, needsAnd);
     sqlBuilder.append("fecha_nacimiento = ? ");
   }
   if (entity != null && entity.getMaterias() != null && !entity.getMaterias().isEmpty()) {
     addSqlNexus(sqlBuilder, needsAnd);
     sqlBuilder.append("pm.id_materia IN (?)");
   }
   GenericStatement<ResultSet> genericStatement = new GenericStatement<ResultSet>();
   ResultSet resultSet =
       genericStatement
           .statement(sqlBuilder.toString())
           .populator(
               new ParameterPopulator() {
                 @Override
                 public void populateParameters(PreparedStatement prepStmt, Connection connection)
                     throws SQLException {
                   int param = 1;
                   if (entity != null && entity.getId() != null) {
                     prepStmt.setLong(param, entity.getId());
                     param++;
                   }
                   if (entity != null && entity.getNombre() != null) {
                     prepStmt.setString(param, entity.getNombre());
                     param++;
                   }
                   if (entity != null && entity.getApellido() != null) {
                     prepStmt.setString(param, entity.getApellido());
                     param++;
                   }
                   if (entity != null && entity.getFechaNacimiento() != null) {
                     prepStmt.setDate(
                         param, new java.sql.Date(entity.getFechaNacimiento().getTime()));
                     param++;
                   }
                   if (entity != null
                       && entity.getMaterias() != null
                       && !entity.getMaterias().isEmpty()) {
                     List<Long> transform =
                         Lists.transform(
                             entity.getMaterias(),
                             new Function<Materia, Long>() {
                               @Override
                               public Long apply(Materia materia) {
                                 return materia.getId();
                               }
                             });
                     Array materiasArray =
                         connection.createArrayOf("INTEGER", transform.toArray());
                     prepStmt.setArray(param, materiasArray);
                     param++;
                   }
                 }
               })
           .handler(new ProjectableResultHandler())
           .run();
   return parseProfesores(resultSet);
 }