如何通过多个name修改多个id

第一 :为什么第二个for循环遍历出来存在list当中的name只有最后一个

img

第二:怎么将遍历出来的多个name和id值存在list当中然后用这(多个)name去修改(多个)id做一个批量修改


            DaqImportsys daqSys;
            String importsysId = importsys.getImportsysId();
            // 使用Hutool工具类的POI 获取第一行的第一个数据
            List<List<Object>> readFirstLine = excelReader.read(1, excelReader.getRowCount());
            // 循环遍历行数下表从0开始
            for (int i = 0; i < readFirstLine.size(); i++) {
                // 把循环取到的值放在这个List集合里面
                List<Object> objects = readFirstLine.get(i);
                // 对应上面的实体类
                daqSys = new DaqImportsys();
                daqSys.setImportsysId("0100" + (i+1));
                daqSys.setImportsysName((String) objects.get(0));
                // 根据上一个存进去的父级id存在子id里面
                daqSys.setImportsysZid(importsysId);
                // 把存在实体类里面的数据存放在List当中
                daqthList.add(daqSys);
            }

问题有点没看懂。可以在详细描述一下。

for(List<Object> objects : read){
  daqth.setImprtsysName((String) objects.get(0));
}

这段代码的效果是获取到read中最后一个列表,并将该列表中的第一条数据作为字符串存到name中。不知道是不是你第一个问题的原因。
这段代码等价于:

  daqth.setImprtsysName((String) read.get(read.size() - 1).get(0));

第二个问题实在是没看懂。


daqImportsysMapper.UpdatetLIst(daqthList);

<update id="UpdatetLIst" parameterType="DaqImportsys">
        <foreach collection="daqth" item="item" index="index" separator=";">
            UPDATE daq_importsys
            SET importsys_id = #{item.importsysId},importsys_zid = #{item.importsysZid}
            WHERE importsys_name = #{item.importsysName}
        </foreach>
    </update>