mybatis 多key 批量更新

这篇博客介绍了如何在MyBatis中使用动态SQL进行批量更新和删除操作。通过接口方法`rejectBatch(List<InfoKey> keyList)`和对应的mapper.xml配置,利用`<foreach>`标签实现对多个key的条件拼接,形成有效的SQL语句,如更新info表中多个uid和username对应记录的状态。这种方法提高了开发效率,避免了手写大量重复的SQL代码。
摘要由CSDN通过智能技术生成

一个表有多个key,而且想要通过传list批量更新或删除时可以仿照以下mybatis

//接口类:
int rejectBatch(List<InfoKey> keyList);
///mapper.xml:
<update id="rejectBatch" parameterType="com.workmaster.pojo.InfoKey" >
    update info
    set res = 3
    where <foreach collection="list" item="item" open="(" separator="or" close=")">
    uid = #{item.uid,jdbcType=INTEGER} and username = #{item.username,jdbcType=CHAR}
  </foreach>
  </update>

foreach就是循环拼接,collection是传入类型,item单个元素,open和close就是每个foreach替换后前后加的符号,separator是foreach间加的符号

举个例子

update info
set res = 3
where (uid=1 and username = 123) or (uid=2 and username =234)

其实就是最终会拼成正常的sql

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值