spring jdbctemplate使用queryforlist返回的数据不能修改么?

问题描述

spring jdbctemplate使用queryforlist返回的数据不能修改么?

我有两个表,表中各有一个类型字段,名称字段,数值字段,例 如下:

表1:
类型 名称 数值
文具 铅笔 2
耗材 纸 10

表2
类型 名称 数值
文具 铅笔 1
耗材 纸 1

表1存的是采购计划数据,表2存的是采购数据

我现在需要将两表的各自分类数据汇总后进行输出

我分别用两次jdbctemplate查询了两个表,并汇总了数据,现在需要将表2中与表1中类型、名称一致的数据加入表1的查询结果

    String strResult,strMt,strMn,strMt1,strMn1;
    for (Map<String, Object> map1 : sList) {
        strResult="";
        strMt=map1.get("mt").toString();
        strMn=map1.get("mn").toString();
        for (Map<String,Object> map2:tList){
            strMt1=map2.get("mt").toString();
            strMn1=map2.get("mn").toString();
            if(strMt.equalsIgnoreCase(strMt1) && strMn.equalsIgnoreCase(strMn1)){
                strResult=map2.get("purchase").toString();
            }
        }
        map1.put("purchase", strResult);    //将采购数据写入列表
    }

    sList是表1的查询结果,tList是表2的查询结果,问题出现在最后一句。
    map1.put("purchase", strResult);    //将采购数据写入列表
    如果没有这一句,一切都是正常的,只不过数据是不对的。
    我用循环将两组数据进行对比,将相同的类型与名称的数据,把值写入sList中的map里,可是老是在输出到前端页面时报出如下错误 :

    Expected method. obj.purchase?string evaluated instead to freemarker.template.SimpleScalar on line 40, column 36 in page/reportAll/reportAllPlanPurchaseDateReport.htm. The problematic instruction: ---------- ==> ${obj.purchase?string('##0.000')} [on line 40, column 34 in page/reportAll/reportAllPlanPurchaseDateReport.htm] ---------- Java backtrace for programmers: ---------- freemarker.template.TemplateException: Expected method. obj.purchase?string evaluated instead to freemarker.template.SimpleScalar on line 40, column 36 in page/reportAll/reportAllPlanPurchaseDateReport.htm. at freemarker.core.TemplateObject.invalidTypeException(TemplateObject.java:136) at freemarker.core.MethodCall._getAsTemplateModel(MethodCall.java:114) at freemarker.core.Expression.getAsTemplateModel(Expression.java:89) at freemarker.core.Expression.getStringValue(Expression.java:93) at freemarker.core.DollarVariable.accept(DollarVariable.java:76) at freemarker.core.Environment.visit(Environment.java:221) at freemarker.core.MixedContent.accept(MixedContent.java:92) at freemarker.core.Environment.visit(Environment.java:221) at freemarker.core.IteratorBlock$Context.runLoop(IteratorBlock.java:179) at freemarker.core.Environment.visit(Environment.java:428) at freemarker.core.IteratorBlock.accept(IteratorBlock.java:102) at freemarker.core.Environment.visit(Environment.java:221) at 

        如果不加上面那句话,直接输出,完全没有问题,加了这句话后,就会出现错误 ,请高手讲解一下为什么?

解决方案

前端用到了purchase这个字段,并且没有判断它是否为null的情况。

解决方案二:

map1.put("purchase", strResult); //将采购数据写入列表

(sList.get(i)).put("purchase", strResult)

解决方案三:

前端试了,也不行!应该 不是null的问题。

二楼大神的思路我采用了一下,新建了一个List,将需要的数据加入List,可是还不行,数据还是出错。

时间: 2024-09-24 14:49:44

spring jdbctemplate使用queryforlist返回的数据不能修改么?的相关文章

请问java高手,spring如何解析oracle返回的数据包,当记录集嵌套记录集时,如何解析呢

问题描述 请问java高手,spring如何解析oracle返回的数据包,当记录集嵌套记录集时,如何解析呢 以下存储过程,返回的记录集的字段又包含记录集,resultlist的属性Property是个记录集,在这种情况下如何解析所有信息呢?type PropertyList is table of Property index by binary_integer;---PropertyList对象,表Property的记录FUNCTION FUNC_Wechat_ClaimSearchList(

ajax-Ajax返回接送数据。显示不是json数据

问题描述 Ajax返回接送数据.显示不是json数据 我看了下这是json的格式,为什么提示为不是json格式 解决方案 你输出的是字符串,不是json对象,要eval或者JSON.parse转成json对象 解决方案二: 你看看你remarks里面是不是有换行符这些,然后给替换掉.建议你把json串拷贝出来,用校验格式弄下,一下子就看出来了.http://www.bejson.com/ 解决方案三: ajax返回json数据Spring MVC中ajax返回json数据ajax处理返回的jso

insert-spring jdbcTemplate怎么得到新插入数据的主键(varchar2类型)

问题描述 spring jdbcTemplate怎么得到新插入数据的主键(varchar2类型) 在网上看到用KeyHelper 可以得到数字类型的主键,但是表的主键guid是varchar类型的,用Spring的jdbcTemplate有什么方法可以得到新插入数据的主键? 用的是Hibernate 数据库是Oracle 求大神帮忙了啊! 不用先插入了,再查询的方法怎么破?

spring jdbctemplate 插入数据

问题描述 spring jdbctemplate 插入数据 手动拼装的sql : insert into tableA (id,name) values(:id,:name) 使用BeanPropertySqlParameterSource 执行:jdbcTemplate.update(sql, new BeanPropertySqlParameterSource(vo)); 出问题了, 我跟代码进去 发现new BeanPropertySqlParameterSource(vo) 所有集合是空

解决spring mvc 返回json数据到ajax报错parseerror问题

最近使用ajax接收spring mvc传过来的json数据时总是出现parseerror的错误,错误源码如下: 前端: $.ajax({ type: 'POST', url: "groupFunctionEdit", dataType: 'json', contentType: "application/json", data: JSON.stringify(functiondata), success: function(data){ alert('数据加载成功

spring jpa 实体互相引用返回restful数据循环引用报错的问题

spring jpa 实体互相引用返回restful数据循环引用报错的问题 Java实体里两个对象有关联关系,互相引用,比如,在一对多的关联关系里 Problem对象,引用了标签列表ProblemLabel ProblemLabel对象,引用了所属Problem 这样构成了互相引用,导致递归循环内存溢出异常: org.springframework.http.converter.HttpMessageNotWritableException: Could not write content: I

jdbcTemplate的queryForList

jdbcTemplate的queryForList的使用方法如下,它不一样的地方是,它获得的结果,会再放到一个map里去: List rows = jdbcTemplate.queryForList("SELECT * FROM USER");    Iterator it = rows.iterator();    while(it.hasNext()) {        Map userMap = (Map) it.next();        System.out.print(u

ajax如何从服务器端返回xml数据

原始的Ajax:直接使用XmlHttpRequest 如上所述,Ajax的核心是JavaScript对象XmlHttpRequest.下面的示例文章评价系统将带您熟悉Ajax的底层基本知识:http://tearesolutions.com/ajax-demo/raw-ajax.html.注:如果您已经在本地WebLogic容器中安装了ajax-demo.war,可以导航到http://localhost:7001/ajax-demo/raw-ajax.html, 浏览应用程序,参与投票,并亲眼

ajax请求返回的数据看不到回调函数没有执行也没报错

  ajax请求返回的数据看不到回调函数没有执行,哪里都没有报错,有类似情况的朋友可以参考下本文 项目用的是ssh,使用jquery的$.post访问struts2的Action,哪里都没有报错,可就是没有结果. 现在$.post要返回保存着权限的集合Collection ,权限类Privilege和用户类User相互关联,也就是Privilege里使用set集合保存着拥有这个权限的用户Set,用户User里也使用set集合保存着用户有的权限Set .数据都到action里了,但是回调函数没有执