繁体   English   中英

使用 jdbctemplate 将查询中的数据保存在 model 中

[英]save data from a query in a model using jdbctemplate

下午好,我有一个查询,如何使用 jdbctemplate 将查询的值保存在 model 或 class 中。

这是我的代码:

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 个结果保存在我的 model 或 FormPerson class 中。

    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;


}

您需要使用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

class FormPerson {

  private String name;

  private String value;

}

您将需要在 SQL 中使用别名

SELECT CODIGO_UZGTFORMULARIOS as name, UZGTFORMULARIOS_ESTADO as value

您需要学习的主要内容

  1. 如何格式化代码。

  2. 如何为变量命名。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM