myBatis的mapper映射文件之批量处理

#mybatis常见批量处理
在开发当中,可能经常会遇到批量处理这种情况,一般都再在java层面进行,
其本质是节省数据库连接打开关闭的的次数,占用更少的运行内存。

mybatis批量插入

<insert id="saveFeeRuleList" useGeneratedKeys="true" parameterType="java.util.List">
		<selectKey resultType="java.lang.String" keyProperty="id" order="AFTER">
			SELECT
			LAST_INSERT_ID()
	</selectKey>
	INSERT INTO t_product_fee_rule(
		<include refid="Base_Column_List"/>
	)
	VALUES
	<foreach collection="list" item="item" index="index" separator=",">
		(
			#{item.id},#{item.productId},
			#{item.feeCode},#{item.feeValue},
			#{item.remarks}
		)
	</foreach>
</insert>

mybatis批量删除

<delete id="removeProductAgent" parameterType="java.util.HashMap">
	<foreach collection="maps.agentIds" item="item" index="index" open="" close="" separator=";">
		DELETE FROM t_product_agent
		WHERE 1 = 1
		AND product_id = #{maps.productId}
		AND agent_id = #{item}
	</foreach>
</delete>

此处的maps接口中的@Param值对应,属于自定义变量。

void removeProductAgent(@Param("maps")Map<String, Object> map);

mybatis批量修改

<update id="saveUpdateFeeRuleList" parameterType="java.util.List">
 	<foreach collection="list" item="item" index="index" open="" close="" separator=";">
 		UPDATE t_product_fee_rule
 		SET
	fee_value = #{item.feeValue},
	remarks = #{item.remarks}
 		WHERE id = #{item.id}
 	</foreach>
 </update>

学习Java的同学注意了!!!
学习过程中遇到什么问题或者想获取学习资源的话,欢迎加入Java学习交流群,群号码:543120397 我们一起学Java!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

曾卫

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值