其中的collection标签后面跟的是啥,类型?还是名字?这个是要怎么填的?和接口方法中的参数名及类型有啥关系,我查到的是还可以在接口方法中添加@Param,说是这样里面的值就要和collection的值一致?查阅了不少,一直在测试,一直报错,
sql语句
<select id="test_3" parameterType="java.util.ArrayList" resultType="user">
select * from user
<where>
<foreach collection="array" item="age" open="age in (" separator="," close=")"></foreach>
#{age}
</where>
</select>
接口
List<User> test_3(int[] ef);
测试方法
int[] age ={18};
List<User> userList= mapper.test_3(age);
for (User user : userList) {
System.out.println(user.getName());
}
这里是另一组接口(没加@Param)加sql语句,是能输出东西的,它这又是怎么匹配上的,
<select id="test_2" resultType="user" parameterType="java.util.ArrayList">
select * from user
where age in
<foreach collection="array" item="age" index="index" open="(" separator="," close=")">
#{age}
</foreach>
</select>
List<User> test_2(int[] a);