foreach的参数需要注意

92 篇文章 0 订阅
70 篇文章 1 订阅
//foreach遍历数组
var list = ['My','name','is','Joe'];
var printArray = function(item, i) 
{
    console.log((i+1)+'. '+item);
}

dojo.forEach(list, printArray);

//注意,printArray有两个参数,并且第二个参数i每次加1

MyBatis的foreach可以用于处理多参数的情况。在MyBatis中,foreach可以用于循环遍历一个集合,并将集合中的元素作为参数传递给SQL语句。在foreach中,有几个关键的参数需要注意。 首先是collection参数,它表示传入的参数的数据类型。这个参数是必选的,它指定了要进行foreach循环的对象。在作为入参时,默认情况下,List对象会用list作为键,数组对象会用array作为键,而Map对象没有默认的键。当然,在作为入参时,也可以使用@Param("keyName")来设置键,设置了keyName后,list和array将会失效。除了作为入参时,还可以作为参数对象的某个字段。 其次是item参数,它表示循环体中的具体对象。item是每一个元素进行迭代时的别名。在list和数组中,item就是其中的对象,在map中,item是value。item参数是必选的,它用于指定循环体中的具体对象。 举个例子,假设有一个方法findPage,它根据工种查询列表,方法的参数如下: ``` List<WebsitesJob> findPage(@Param("jobCategorys") List<Integer> jobCategorys, @Param("ids") List<Integer> ids, @Param("workPlace") List<String> workPlace); ``` 在这个方法中,jobCategorys、ids和workPlace都是集合类型的参数。如果想要使用foreach来处理这些参数,可以在SQL语句中使用foreach标签,并指定collection为对应的参数名,item为具体的对象名。例如: ``` <select id="findPage" resultType="WebsitesJob"> SELECT * FROM websites_job WHERE job_category IN <foreach collection="jobCategorys" item="item" open="(" separator="," close=")"> #{item} </foreach> AND id IN <foreach collection="ids" item="item" open="(" separator="," close=")"> #{item} </foreach> AND work_place IN <foreach collection="workPlace" item="item" open="(" separator="," close=")"> #{item} </foreach> </select> ``` 在这个例子中,使用了三个foreach标签分别处理jobCategorys、ids和workPlace参数。通过foreach标签,可以将集合中的元素作为参数传递给SQL语句中的IN条件。 总结起来,MyBatis的foreach可以用于处理多参数的情况。通过指定collection和item参数,可以循环遍历集合,并将集合中的元素作为参数传递给SQL语句。 #### 引用[.reference_title] - *1* *2* [mybatis foreach 属性及其三种使用情况](https://blog.csdn.net/weixin_34193397/article/details/111968365)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [mybatis foreach 循环,传入多个参数](https://blog.csdn.net/f45056231p/article/details/95455078)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值