水了一个星期,才把这个搞得清楚一点。
foreach 主要用在sql 语句的in查询中,对数组list 或者map进行遍历,目前只弄懂list,后续更新map,在使用过程中。
<select id="selectById" resultType="OrderDO">
SELECT * FROM t_order WHERE orid in
<foreach collection="orderIds" item="orid" open="(" separator="," close=")">
#{orid}
</foreach>
好比这样一个查询语句,第一行可以直接模仿。
其他需要注意的点就是,collection 怎么写,以及item 和#{}的对应关系。
collection 是遍历的集合,这个其他博主写到的是必须是list,arraylist等指定格式的,但是后面再观看视频教程中,发现可以在dao层中的方法中参数加个@Para 注解,如下
@Param("orderIds") List<Long> orderIds
这样一来,就可以如下写foreach collection="orderIds"
,两者对应起来即可。
item =后面的值和#{} 括号里面的值相等即可,随便怎么取。
如下
<foreach collection="orderIds" item="orid" open="(" separator="," close=")">
#{orid}