public static class TestParam{
private String name;
private List<String> codes;
}
List<TestResult> selectList(@Param(value = "param")TestParam param);
<foreach collection="param.code" item="data" separator="," open="(" close=")">
#{data}
</foreach>
- 报错信息
Parameter 'data' not found. Available parameters are ******
- 原因:
在 MyBatis 中, foreach 循环中使用 collection 属性时,需要确保 collection 指向的属性在 @Param 注解中是可见的。即 codes是 TestParam类的一个属性,且 param 参数能够访问到它。 - 解决办法:
把参数对象中的private List<String> codes;
改成public List<String> codes;
即可。