近期在项目中用到了这些批量操作,记录一下自己对这些代码的理解。
第一种:Mapper层代码(包括Mapper映射文件和映射接口)
1.1 Mapper映射文件--------------------------------------------------------
insert into DM_DS_VEST_RLAT (DM_DS_ID, VEST_TYPE_CODE)
( select #{item.dmDsId}, #{item.vestTypeCode} from dual)
1.2 Mapper接口如下:--------------------------------------------
public interface DmDsVestRlatMapper {
// @Param注解的值要和foreach中的collection属性值一致(也就是都要是此处写的list)
int addDmDsVestRlatInfo(@Param("list") List list);
}
foreach属性值简单解释(只是本人的理解,如有错误之处请指正):
collection属性值要和接口方法中的@Param注解值一致;
item:表示循环体中的具体对象(例:有个List,那么item就可以看作代表User对象,item.age就类似User.age );具体说明:在 list 和数组中item代表其中的对象,在 map 中是 value,该参数为必选。(它是每一个元素进行迭代时的别名)
index:在 list 和数组中,index 是元素的序号;在 map 中,index 是元素