myBatis3之SQL映射的XML文件(动态SQL之四)

myBatis3之SQL映射的XML文件(动态SQL之四)

----------

 

 

foreach 

 

另外一个动态SQL通用的必要操作是迭代一个集合,通常是构建在IN条件中的。比如:

<select id="selectPostIn" resultType="domain.blog.Post"> 
	SELECT * 
	FROM POST P 
	WHERE ID in 
	<foreach item="item" index="index" collection="list" open="(" separator="," close=")"> 
		#{item} 
	</foreach> 
</select> 

foreach元素是非常强大的,它允许你指定一个集合,声明集合项和索引变量,它们可以用在元素体内。它也允许你指定开放和关闭的字符串,在迭代之间放置分隔符。这个元素是很智能的,它不会偶然地附加多余的分隔符。 

注意:你可以传递一个List实例或者数组作为参数对象传给MyBatis。当你这么做的时候,MyBatis会自动将它包装在一个Map中,用名称在作为键。List实例将会以“list”作为键,而数组实例将会以“array”作为键。 

 

 

 

你可能感兴趣的:(Mybatis3)