使用hutool分割list

import cn.hutool.core.collection.CollUtil;public ReturnT<Integer> batchInsert() {List<SysUserDTO> list = new ArrayList<>();for (int i = 0; i < 100; i++) {SysUserDTO sysUserDTO = new SysUserDTO();sysUserDTO.setUsername("admin" + i);sysUserDTO.setPassword("12345" + i);sysUserDTO.setUserAccount("admin" + i);sysUserDTO.setEmail("admin" + i + "@163.com");sysUserDTO.setCreateBy("admin");list.add(sysUserDTO);}int size = 100;int total = 0;List<List<SysUserDTO>> lists = CollUtil.splitList(list, size);for (List<SysUserDTO> sysUserDTOS : lists) {int rows = baseMapper.insertBatch(sysUserDTOS);total += rows;}return new ReturnT<>(total);}public ReturnT<Integer> updateBatch() {List<SysUserDTO> list = new ArrayList<>();for (int i = 0; i < 100; i++) {SysUserDTO sysUserDTO = new SysUserDTO();sysUserDTO.setUsername("admin200" + i);sysUserDTO.setPassword("12345" + i);sysUserDTO.setUserAccount("admin" + i);sysUserDTO.setEmail("admin" + i + "@163.com");sysUserDTO.setCreateBy("admin");list.add(sysUserDTO);}int size = 100;int total = 0;List<List<SysUserDTO>> lists = CollUtil.splitList(list, size);for (List<SysUserDTO> sysUserDTOS : lists) {int rows = baseMapper.updateBatch(sysUserDTOS);total += rows;}return new ReturnT<>(total);}
List<List<SysUserDTO>> lists = CollUtil.splitList(list, size);

1. 批量新增

<insert id="insertBatch">INSERT INTO `sys_user`(`username`, `password`, `user_account`, `email`, `salt`, `phone`, `create_time`,`create_by`)VALUES<foreach collection="list" item="sysUser" separator=",">(#{sysUser.username}, #{sysUser.password}, #{sysUser.userAccount},#{sysUser.email},#{sysUser.salt},#{sysUser.phone},now(),#{sysUser.createBy})</foreach></insert>

2. 批量更新

需要建唯一索引

<insert id="updateBatch">INSERT INTO `sys_user`(`username`, `password`, `user_account`, `email`, `salt`, `phone`, `create_time`,`create_by`)VALUES<foreach collection="list" item="sysUser" separator=",">(#{sysUser.username}, #{sysUser.password}, #{sysUser.userAccount},#{sysUser.email},#{sysUser.salt},#{sysUser.phone},now(),#{sysUser.createBy})</foreach>ON DUPLICATE KEY UPDATEid=VALUES(id),username = VALUES(username),password = VALUES(password),user_account = VALUES(user_account),email = VALUES(email),salt = VALUES(salt),phone = VALUES(phone),create_time = VALUES(create_time),create_by = VALUES(create_by)</insert>

mybatis 批量新增 批量修改相关推荐

  1. MyBatisPlus批量新增或修改执行器

    @Component public class ExecutorBatch {@Autowiredprivate SqlSessionTemplate sqlSessionTemplate;/*** ...

  2. postgres批量新增,修改

    项目中用到批量新增,修改,这里记录一下: 1.批量新增,当遇到冲突时,进行修改 sql: insert into table_name(id, col1) values(unnest(array[1, ...

  3. mybatis-plus的批量新增/批量更新以及问题

    批量新增/删除 1.代码中foreach insert/update 2.多线程foreach insert/update 3.mybatis xml中foreach 4.通过自定义 SQL注入器扩展 ...

  4. mybatis plus 新增,修改

    simple curd 1. mybatis-plus 2. 以用户表为例,德莫 1. mybatis-plus mybatis的升级版,curd的奇淫技巧. MyBatis-Plus(简称 MP)是 ...

  5. Mybatis Plus重写批量新增和批量删除

    批量新增: import com.baomidou.mybatisplus.core.injector.AbstractMethod; import com.baomidou.mybatisplus. ...

  6. Javaweb15==mysql+mybatis+servlet+axios+fasetjson+vue+elementUI前后端分离,实现列表后端分页、模糊查询后分页、新增、单一/批量删除、修改

    难点:模糊查询后再次分页,并可以选择页数. 最终环境配置: maven3.8:依赖包管理 IDEA2021+JDK8+mysql connector java5+Mysql5+mybatis3.5:从 ...

  7. MyBatis + Oracle 实现批量新增和批量修改

    MyBatis + Oracle 实现批量新增(基于序列化自增长主键) mapper 接口 void batchInsert(List<ASingleProject> list); map ...

  8. mybatis高级查询,批量新增

    review sql脚本 实体类 sql watch out mapper mapper test 之前的比较分散,自己用... sql脚本 -- auto-generated definition ...

  9. 基于ruoyi+vue+elementUI实现列表,新增,附件上传,tab+springBoot+mybatis+oracle序列+批量新增

    基于ruoyi+vue+elementUI实现列表,新增,附件上传,tab+springBoot+mybatis+oracle序列+批量新增 页面效果 列表页面 新增页面 详情页面 代码实现 列表+新 ...

  10. Mybatis-plugs 批量新增及批量修改、IN、CASE WHEN操作

    1.1 基本介绍 Mybatis-plugs 批量新增及批量修改.IN.CASE WHEN 查询,简单,适用,最近用到了,那就留下点痕迹,免得下次用到再去找 <foreach> 标签里面的 ...

最新文章

  1. 戴尔电脑管家_2020年笔记本电脑推荐指南:笔记本电脑应该怎么选?什么牌子的笔记本电脑更值得入手?...
  2. Linux 学习手记(1):命令行BASH的基本操作
  3. 美利好车的微服务实践
  4. SQL Server XML性能优化(Best Practices)
  5. html子布局不超出父布局,详解flex布局中保持内容不超出容器的解决办法
  6. 【Java】Java 集合相关的博客积累
  7. php 跟踪邮件,php – 电子邮件跟踪 – GMail
  8. 堆栈的缓冲区溢出进不了系统_一文理解缓冲区溢出
  9. Android之Surface/Window/View/SurfaceView区别
  10. Linux主机驱动与外设驱动分离思想 1
  11. Mysql索引优化和锁机制
  12. Yapi 可视化接口管理平台部署文档
  13. mahout安装和测试
  14. 自学Java年薪20万的学习方法,大佬教你如何去学
  15. luckysheet实现在线编辑Excel
  16. 怎么把path里oracle地址删掉,path路径删除了怎么办
  17. win7 64位 32位旗舰版下载
  18. 拼多多运营该怎么做你知道吗?
  19. 【内存】物理内存和虚拟内存
  20. python编写一个班级类 点名簿_班级小游戏

热门文章

  1. echarts:实现legend中的textBorderColor动态改变问题
  2. PHP 7从零基础到项目实战,PHP 7从零基础到项目实战
  3. python实现GCD算法
  4. ASP.Net三层架构
  5. session 修改密码python_django修改密码强制退出机制
  6. Linux交换分区 swap分区
  7. 计算机无法连接到wifi但手机可以使用,电脑连不上wifi但是手机可以连得上怎么解决...
  8. php大写数字转换,php如何实现数字金额转换大写金额(代码示例)
  9. 新安装Win10操作系统有必要设置的几个技巧
  10. 卡通渲染 类罪恶装备与崩坏3渲染总结