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了;

--------------------------------------------------------------------

posted @ 2019-11-27 15:44  心态良  Views(12372)  Comments(0Edit  收藏  举报