mybatis 中,mapper.xml中遍历list集合知识点
<select id="findAll" parameterType="java.util.List" resultType="string">
select uid from user where uid in
<foreach collection="list" index="index" item="item" open="(" separator="," close=")">
#{item.uid,jdbcType=VARCHAR}
</foreach>
ORDER BY CREATE_DATE DESC
</select>
--------------------------------------------------------------------
相关解释:foreach的主要用在构建in 条件中,它可以在sql语句中迭代一个集合;
1.foreach元素的属性有item, index, collection, open, separator, close;
item--->集合中每一个元素进行迭代的别名;
index--->表示迭代过程中,每次迭代的位置,
open--->该语句以什么开始;
separator--->在每次进行迭代之间以什么符号作为分隔符;
close--->以什么结束,
在使用foreach的时候最关键的也是容易出错的就是collection属性,
该属性是必须指定的,不同情况,属性值不同;
有一下3中情况:
① 如果传入的是单参数且参数类型是一个List的时候,collection属性值为list;
②如果传入的是单参数且参数类型是一个array数组的时候,collection的属性值为array;
③如果传入的参数是多个的时候,我们就需要把它们封装成一个Map了;
--------------------------------------------------------------------