【MyBatis】Foreach语句

Foreach包含的属性有:collection、index、open、close、item、separator。
 

index:循环过程中产生的索引值。

open:Foreach以什么开始。

close:Froeach以什么结束。

item:Foreach循环过程中产生的对象。

separator:Froeach以什么作为变量间的分割。

collection:代表传入的参数,有以下几种常见用法:

 1.传入List集合时:collection=“list”。

 2.传入Array数组时:collection="array"。

   如:serviceImpl中这样写:

     

	@Override
	public void delete(Serializable[] ids) {
		contractDao.delete(ids);
	}

        mapper中这样写:

	<!-- 批量删除 -->
		<delete id="delete" parameterType="string">
			delete from contract_c where CONTRACT_ID in 
			<foreach collection="array" item="id" open="(" close=")" separator=",">
				#{id}
			</foreach>
		</delete>

 3.传入map对象时:将你放在map中的那个数组或者list的引用对象作为collection的值。

  如:serviceImpl这样写:

     

@Override
	public void submit(Serializable[] ids) {
		Map<String, Object> map = new HashMap<String, Object>();
		map.put("state", "1");   //上报状态
		map.put("ids", ids);
		contractDao.updateStatus(map);
	}

       mapper中这样写:
<!-- 修改状态 -->
		<update id="updateStatus" parameterType="map">
			update contract_c set state = #{state} where CONTRACT_ID in 
			<foreach collection="ids" item="id" open="(" close=")" separator=",">
				#{id}
			</foreach>
		</update>


评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值