mybatis批量操作

1.批量插入操作: 使用foreach标签

	<insert id="insertBatch">
		
		<selectKey keyProperty="personId" order="AFTER" resultType="java.lang.Integer">
			select LAST_INSERT_ID()
		</selectKey>
		insert into person1 (person_id, name, gender, person_addr, birthday)
		values
		<foreach collection="pList" separator="," item="person">
			(#{person.personId}, #{person.name}, #{person.gender}, #{person.personAddr}, #{person.birthday})
		</foreach>
	</insert>

说明:该方法只适用于mysql数据库,oracle不适用。

注意:java后台传递的参数是map

//批量的操作,使用集合和数组都可以
/*List list = new ArrayList();
list.add(7);
list.add(8);
list.add(9);*/
Integer [] ids = {13,14,15};
Map<String, Object> map = new HashMap<String, Object>();
map.put("ids", ids);


2.批量删除操作:

	<delete id="deleteBatch" >
		delete from person1 where person_id in 
		<foreach collection="ids" open="(" close=")" item="personId" index="pIndex" separator=",">
			#{personId}
		</foreach>
	</delete>
3.foreach标签使用说明:

如果使用foreach就不需要parameterType
collection:map中集合的key,可以代替parameterType
open:foreach中组合字符串的时候以某种字符开始
close: foreach中组合字符串的时候以某种字符结束
item:集合中的每一项,使用的时候语法#{}
index:循环的索引
separator:集合中每一项以某种字符分隔

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值