mapper.xml文件
<update id="updateByBatch" parameterType="java.util.List"> <foreach collection="list" separator=";" item="l"> update businessinfo set businessinfo_status='2' where id=#{l} </foreach></update>这种方法接受的类型为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<Databaseinfo> database=takeDatabaseinfo.getList(); ArrayList list=new ArrayList(); for(Databaseinfo d:database){ list.add(d.getId()); } databaseinfoService.updateByBatch(list);//调用 }测试自己根据情况更改
...........对了这种方法需要在数据库链接地址后面加上&allowMultiQueries=true
不然会报错
