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

不然会报错

你可能感兴趣的:(实习经历)