MyBatis---xml动态增删思路记录

本文介绍了MyBatis中使用Foreach和Trim标签实现XML动态增删的思路。通过Foreach进行遍历,Trim用于动态更新,避免了多次执行SQL。文章探讨了动态插入时的问题,指出批量插入多条相同结构数据的优化方法,并说明了在mapper文件中入参和XML中collection的关联,帮助理解MyBatis的动态SQL操作。
摘要由CSDN通过智能技术生成

MyBatis—xml动态增删思路记录

本文仅为作者个人理解,理性参考阅读!!!

Foreach标签的使用:
元素 描述
collection 待遍历集合名称
index 索引
item 遍历出的内容,可是对象格式变量值
open 以xx开始
separator 以xx间隔
end 以xx结尾
trim标签的使用
元素 描述
prefix 以xx为前缀
suffixOverrides 以xx间隔
suffix 以xx结尾

trim的元素等同foreach - open/separator/end元素。

了解以上两个注解后动态更新就好解决了

<!-- 单条动态更新语句示例 -->
<update id="batchUpdate" parameterType="java.util.List">
	update set TABLE_NAME
		<trim prefix="SET" suffixOverrides=",">
			<if test="property1 != null and property1 != ''">
				column1 = #{property1}
			</if>
			<if test="property2 != null and property2 != ''">
				column2 = #{property2}
			</if>
			<if test="property3 != null and property3 != ''">
				column3 = #{property3}
			</if>
			....
		</trim>
	where id = #{id}
</update>
//mapper文件
boolean batchUpdate(List<BusiValuationSpeInfo> busiValuationSpeInfos);
<!-- 多条  利用foreach遍历组装多条update语句-->
<update id="batchUpdate" parameterType="java.util.List">
	<foreach collection="list" index="index" item="item" separator=";
  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值