List<DTO> list = attrDao.listAllnfo();
list.stream().forEach(dto->{if(dto.getB()==0){
dto.setA("食盐");}elseif(dto.getB()==1){
dto.setA("食醋");}});return attrDao.updateA(list);
sql代码
<updateid="updateA"parameterType="com.XXX.DTO"><foreachcollection="list"item="item"index="index"separator=";">
update T
set a = #{item.a}
where id = #{item.id} <!-- 这句必须写!!!最开始就是这句没写!!! --></foreach></update>
一. 背景今天刷数据,需要根据表T中列a的值来更新列b的值。最开始用程序写的,结果刷完的数据一直有问题,后来让胜哥帮忙看问题,刷成功了。后来又找到一种用sql刷数据的方法。在这里记录一下。刷数据的逻辑:如果某条记录的列b=0,则更新列a=食盐;如果某条记录的列b=1,则更新列a=食醋。二. 刷数据之旅1. 程序刷java代码List<DTO> list = attrDao.listAllnfo();list.stream().forEach(dto->{ if