第一 :为什么第二个for循环遍历出来存在list当中的name只有最后一个
第二:怎么将遍历出来的多个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>