方式一注解方式

@MppMultiId

updateByMultiId

方式二条件构造器 Wrapper

update(updateWrapper),一条一条更

方式三case when

<update id="updatePutInAndRealNum" parameterType="java.util.List" >update batch_material<trim prefix="set" suffixOverrides=","><trim prefix="real_num =case" suffix="end,"><foreach collection="list" item="i" index="index"><if test="i.realNum!=null">when material_code=#{i.materialCode} and batch_id = #{i.batchId} then #{i.realNum}</if></foreach></trim><trim prefix="put_in =case" suffix="end,"><foreach collection="list" item="i" index="index"><if test="i.putIn!=null">when material_code=#{i.materialCode} and batch_id = #{i.batchId} then #{i.putIn}</if></foreach></trim></trim>where<foreach collection="list" separator="or" item="i" index="index" >material_code=#{i.materialCode} and batch_id = #{i.batchId}</foreach></update>

数据量不多10条以内吧。大批量慎用,每一个case when 都要循环一遍list集合

拼接sql

update batch_material set real_num =case when material_code=? and batch_id = ? then ? when material_code=? and batch_id = ? then ? end, put_in =case when material_code=? and batch_id = ? then ? when material_code=? and batch_id = ? then ? end where material_code=? and batch_id = ? or material_code=? and batch_id = ?

MyBatisPlus联合主键批量更新相关推荐

  1. mysql 8.20联合主键批量更新案例,存在即更新,不存在插入

    结合官网案例一下是插入案例 insert into f_test(equipment_id,dtu_id,run_date,status,start_time,end_time,duration, u ...

  2. mybatis-plus联合主键的使用

    1.依赖mybatis-plus <dependency>     <groupId>com.github.jeffreyning</groupId>     &l ...

  3. mysql处理打卡外勤主键,联合主键约束更新不了数据

    create table ts_2020_emp_grant as select * from ts_clock_emp_grant; ---查询大于1条-- select * from ts_clo ...

  4. mybatis-plus/mybatis的组件们——拦截器、字段填充器、类型处理器、表名替换、SqlInjector(联合主键处理)

    最近有个练手的小例子,大概就是配置两个数据源,从一个数据源读取数据写到另一个数据源,虽然最后做了出来,但是不支持事务...就当是对mybatis-plus/mybatis组件使用方式的记录吧,本次例子 ...

  5. 解决Mybatis-Plus的联合主键问题

    场景:使用com.baomidou.mybatis-plus进行批量新增或更新操作时,发现后台日志只根据一个主键进行更新,实体类将两个主键都加上@TableId时,运行报错. 解决:引入了com.gi ...

  6. JPA规范:一对多、一对一、多对多的双向关联与级联操作以及JPA联合主键

    通常在企业开发中,开发Dao层有两种做法:  (1)先建表,后再根据表来编写配置文件和实体bean.使用这种方案的开发人员受到了传统数据库建模的影响.  (2)先编写配置文件和实体bean,然后再生成 ...

  7. 删除unique key,删除原有的联合主键,新建新的联合逐渐,删除索引,修改索引,mysql5.7修改索引名称,查看最大连接数量,查看是否有ssl

    mySQL中删除unique key的语法 ,假设有表: CREATE TABLE `good_booked` (   `auto_id` int(10) NOT NULL auto_incremen ...

  8. hibernate 联合主键 merge

    http://topic.csdn.net/u/20090722/16/1946dd91-3900-47e9-ab85-ed7db41252de.html Object obj=session.mer ...

  9. mysql 尽量不要使用 联合主键_MySQL 使用规范

    MySQL 使用规范 以下规范适用在线交易(OLTP)系统的数据库.数据仓库与分析系统也可以参考. 命名规范 表名.字段名.索引名使用小写字母.数字,采用下划线分割 表名采用模块名3个缩小字符_前缀, ...

最新文章

  1. 用javascript实现的纵版飞行射击游戏—《天机》
  2. 函数式编程语言python-Python函数式编程
  3. (仿头条APP项目)3.二级页面首页的ViewPager页面切换
  4. pycharm中如何调用Anoconda的库
  5. redis 版的 hello world
  6. 工作307:uni-富文本的实现逻辑跳转
  7. c3等待加载样式 vue_Vue.js__简易加载等待动画
  8. 【Oracle】11g外部表指定oracle_datapump引擎,不能使用preprocessor预处理子句。
  9. 乒乓球单循环赛_乒乓球循环赛制比赛规则
  10. win10无法执行vbs脚本
  11. 论文笔记——分布式深度学习框架下基于性能感知的DBS—SGD算法
  12. JS05-页面的打断点(检验程序的执行步骤)
  13. AOP应用(Transactions 事务)
  14. 计算机毕业设计JAVA企业售后服务管理系统mybatis+源码+调试部署+系统+数据库+lw
  15. 资深电竞发烧友走心盘点,五款高续航游戏低延迟蓝牙耳机分享
  16. 阿里张建锋:互联网主要解决三大问题
  17. 12306的自动化登录
  18. LED驱动电源不足,都有哪些原因
  19. DWM缩略图,但是使用的是IDCompositionVisual
  20. 跨境电商erp系统是什么?

热门文章

  1. 飞信-文档-开发者-API文档
  2. nlp中的词向量对比:word2vec/glove/fastText/elmo/GPT/bert
  3. linux配置添加组播mac地址,如何实现端口静态添加组播MAC地址
  4. mysql查询相关语法总结
  5. UVA 1659 Help Little Laura 帮助小劳拉 (最小费用流,最小循环流)
  6. free命令详解(转载)
  7. java反射原理三种,java反射的原理、作用
  8. Vue—FindIndex的使用
  9. 企业寻求并购股权转让过程中,这些问题其实可以避免
  10. SSRF服务端请求伪造