以前因为涉及到传入参数为多个的时候,一直都是将传入的参数通过键值对的方式存入Map,然后再取值,后来发现了@Param这个注解,但是也没去怎么用,后来发现涉及到传入参数不止一个时。
使用这个注解好处:当传入的参数为多个时,可以不再用map来传参数了,并解决了传入参数为数组类型进行批量操作无法识别的问题。
dao层方法:
Integer addBatchRole2Menu(@Param("role")Role role,@Param("menuIds")String[] menuIds);
xml对应写法:
<insert id="addBatchRole2Menu" >
insert into tablename values
<foreach collection="menuIds" item="menuId" index="index"
separator=",">
(#{role.id},#{menuId})
</foreach>
</insert>
==> Preparing: insert into ims_finance_role2menu values (?,?) , (?,?) , (?,?)
==> Parameters: 10(Integer), 200(String), 10(Integer), 2001(String), 10(Integer), 2002(String)
<== Updates: 3