★学习目标:
掌握<foreach>元素,能够熟练使用<foreach>元素以及它的属性
★思考任务:
MyBatis中<foreach>元素的作用是什么?
★任务学习:
★知识要点:
<foreach>元素的属性
属性 | 说明 |
item | 表示集合中每一个元素进行迭代时的别名。该属性为必选。 |
index | 在List和数组中,index是元素的序号,在Map中,index是元素的key。该属性可选。 |
open | 表示foreach语句代码的开始符号,一般和close=“)”合用。常用在in条件语句中。该属性可选。 |
separator | 表示元素之间的分隔符,例如,在条件语句中,separator=“,”会自动在元素中间用“,”隔开,避免手动输入逗号导致SQL错误,错误示例如in(1,2,)。该属性可选。 |
close | 表示foreach语句代码的关闭符号,一般和open="("合用。常用在in条件语句中。该属性可选。 |
collection | 用于指定遍历参数的类型。注意,该属性必须指定,不同情况下,该属性的值是不一样的。 |
<collection>属性的取值
在遍历参数时,<collection>属性的值是必须指定的。不同情况下,该属性的取值也是不一样的,主要有以下三种情况。
List类型
若入参为单参数且参数类型是一个List,collection属性值为list。
数组类型
若入参为单参数且参数类型是一个数组,collection属性值为array。
Map类型
若传入参数为多参数,就需要把参数封装为一个Map进行处理,collection属性值为Map。若传入参数为多参数,就需要把参数封装为一个Map进行处理,collection属性值为Map。

