我的批量修改思想就是生成多条update语句进行修改,上代码吧
mapper.xml文件
update businessinfo set businessinfo_status='2' where id=#{l}
这种方法接受的类型为list,所以parameterType就填java.util.List,要用map那就自己修改很简单 道理一样,然后根据你的list个数生成N条sql语句,collection后面填的是参数名,separator是将语句用,隔开,l那就是参数的别名。
mapper类
public interface DatabaseinfoMapper {
public void updateByBatch(List list);
}
service类
public interface DatabaseinfoService {
public void updateByBatch(List list);
}
接口实现类
@Service
@Transactional(rollbackFor = Exception.class)
public class DatabaseinfoServiceImpl implements DatabaseinfoService {
@Resource
private DatabaseinfoMapper databaseinfoMapper;
@Override
public void updateByBatch(List list) {
databaseinfoMapper.updateByBatch(list);
}
}
调用方法
public void test () {
List database=takeDatabaseinfo.getList();
ArrayList list=new ArrayList();
for(Databaseinfo d:database){
list.add(d.getId());
}
databaseinfoService.updateByBatch(list);
//调用
}
测试自己根据情况更改
...........对了这种方法需要在数据库链接地址后面加上&allowMultiQueries=true
【myBatis进行批量修改】不然会报错