myBatis进行批量修改

我的批量修改思想就是生成多条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进行批量修改】不然会报错

    推荐阅读