сохранить данные из запроса в модели, используя jdbctemplate - PullRequest
0 голосов
/ 12 апреля 2020

Добрый день, у меня есть запрос, как я могу сохранить значения запроса в модели или классе, используя jdbctemplate.

это мой код:

RequestMapping(value= "/formobligatorio/{pidm}" , method = RequestMethod.GET)
    public List<FormPerson> grupoCodf(@PathVariable Long pidm) {
      int codf = 0;
      LinkedList<Integer> codFormsOblig = new LinkedList<Integer>();
        List<Integer> codfoblig = new ArrayList<Integer>();
        String query=" select p.codigo_uzgtformularios from UTIC.UZGTFORMULARIO_PERSONA p,UTIC.UZGTFORMULARIOS f where p.spriden_pidm =" + pidm + "and p.codigo_uzgtformularios = f.codigo_uzgtformularios and (  p.uzgtformularios_estado_llenado ='N' or f.uzgtformularios_estado_llenado ='S' or f.uzgtformularios_estado_llenado ='M' )  ORDER BY codigo_UZGTFORMULARIOS ASC";
        codfoblig = jdbcTemplate.queryForList(query,Integer.class);
        for (int u = 0; u < codfoblig.size(); u++) {
            codf = codfoblig.get(u);
            codFormsOblig.add(codf);
        }
        System.out.println("codFormsOblig "+codFormsOblig);

// Здесь В моей проблеме codFormsOblig имеет 2 значения, поэтому приведенный ниже запрос будет выполнен 2 раза с разными результатами, и эти 2 результата мне нужно сохранить в моей модели или классе FormPerson.

    for (int u = 0; u <codFormsOblig.size (); u ++) {
    String query1 = "SELECT CODIGO_UZGTFORMULARIOS, UZGTFORMULARIOS_ESTADO FROM UTIC.UZGTFORMULARIOS where UZGTFORMULARIOS_ESTADO = 1 AND codigo_uzgtFormularios =" + codFormsOblig.get (u) + "AND UZGTFORMULARIOS_DE = CODE"
                     
         // I don't know what type of jdbctemplate to use , queryforobject, queryforlist or any other that will allow me to save the values of the fields in the model
;
           List <FormPerson> cod = jdbcTemplate.queryForObject (query1, FormPerson.class);

                         return code;


}

1 Ответ

0 голосов
/ 12 апреля 2020

Вам нужно использовать BeanPropertyRowMapper.

https://mkyong.com/spring/spring-jdbctemplate-querying-examples/

Кроме того, вам нужно пробел в этом запросе

    String query1 = "SELECT CODIGO_UZGTFORMULARIOS, UZGTFORMULARIOS_ESTADO FROM
 UTIC.UZGTFORMULARIOS where UZGTFORMULARIOS_ESTADO = 1 AND codigo_uzgtFormularios =" +
 codFormsOblig.get (u) + "AND UZGTFORMULARIOS_DE = CODE"

если у вас есть класс

class FormPerson {

  private String name;

  private String value;

}

, вам нужно будет использовать псевдонимы в SQL

SELECT CODIGO_UZGTFORMULARIOS as name, UZGTFORMULARIOS_ESTADO as value

Основные вещи, которые вам нужно выучить

  1. Как отформатировать код.

  2. Как присвоить имена переменным.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...