使用场景:当前端传入一个数组以及其他参数信息,springMVC使用java bean进行接收,然后将数组参数(传到后台实质为String类型)在后台转化为List类型,并封装在bean中,将整个对象传入Mybatis中。
Java Bean中参数如下:
private List<String> states;
然后需要在xml中查询在这个list集合中的参数的情况,使用到sql语句中的in,具体实现如下:
<if test="states!=null">
and state in
<foreach collection="states" index="index" item="item" open="(" separator="," close=")">
#{states[${index}],jdbcType=VARCHAR}
</foreach>
</if>
在这里测试过,如果需要遍历对象中数组的情况,Mybatis中实现不了,需要转化为List集合进行处理!