mybatis批量更新,更新0行

前言:聊聊今天在开发中关于MySql遇到的问题。
问题所在:之前写好的批量更新操作,明明可以执行,突然更新不了。
找了半天,还被前辈教育了,才发现问题所在。是因为前辈把查询的id给换掉了,导致我进行批量插入的时候找不到唯一的索引。

之前的xml
注意where那个条件,sql的大致意思是,根据id和storeid为条件进行批量修改

	<update id="updatePrintTemplate">
		<foreach collection="printTemplateList" item="printTemplate"
				 separator=";">
			update `print_template`
			<set>
				`storeId`=#{printTemplate.storeId},
				`templateKey`=#{printTemplate.templateKey},
				`templateName`=#{printTemplate.templateName},
				`printNum`=#{printTemplate.printNum},
				`detailsStruct`=#{printTemplate.detailsStruct},
				showDetailsStruct=#{printTemplate.showDetailsStruct},
				detailsSort=#{printTemplate.detailsSort},
				showDetailsSort=#{printTemplate.showDetailsSort},
				detailsSplit=#{printTemplate.detailsSplit},
				showDetailsSplit=#{printTemplate.showDetailsSplit},
				oneDetailsOneOrder=#{printTemplate.oneDetailsOneOrder},
				showOneDetailsOneOrder=#{printTemplate.showOneDetailsOneOrder},
				stateFlag=#{printTemplate.stateFlag},
				createTime=#{printTemplate.createTime},
				frontBackFlag=#{printTemplate.frontBackFlag}
			</set>
        where id = #{printTemplate.id} AND `storeId`=#{printTemplate.storeId}
        </foreach>
	</update>

然而前端传回来的id是1-24,根本不是之前传的那个id值,所以导致我不能进行批量的插入操作。
总而言之就是条件不唯一了,导致我更新失败。
在这里插入图片描述
于是乎,我不得不换一个唯一索引进行判断,总不能让前辈为我改值吧,所以我修改了where中的操作条件。
在这里插入图片描述
这样就有了唯一的索引,供我进行批量插入的依据。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值