开发者社区> 问答> 正文

[@徐雷frank][¥20]求教MyBatis批量插入/更新的问题

已解决

请教下 MyBatis批量插入/更新 的实现 在内部是循环一条一条的操作并提交还是批量操作(类似于 Insert into 表 value () value () 这样的)后再执行?

展开
收起
晓生寒 2018-12-13 22:33:47 3820 0
2 条回答
写回答
取消 提交回答
  • 1.阿里云大学讲师,主讲《微服务Spring Cloud设计与开发实战》《MongoDB高级实战》等课程 2.MongoDB中文社区专家 3.《MongoDB实战》第2版译者 5.吉林大学计算机科学学士、上海交通大学硕士
    采纳回答

    1、Mybatis的批处理模式,底层可以源码可以看到使用的还是batch接口,批量增加,不是单条模式了。
    2、Mybatis批处理底层用的是SQLSession,sqlSessionFactory.openSession(ExecutorType.BATCH, false)
    3、Session底层批处理使用的是JDBC的底层批处理操作。
    4、批量新增insert数据其实JDBC就执行一次addBatch()方法接口

    2019-07-17 23:20:50
    赞同 展开评论 打赏
  • 新人一枚

    批量插入(MySql为例)
    < insert id="insertList" >
    insert into sys_user(user_name,user_password,...) values

    (
       #{user.userName},
       #{user.userPassrod},
       ...
    )
    </foreach>

    < /insert >

    接口:
    int insertList(List userList);

    2019-07-17 23:20:50
    赞同 1 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
Java Spring Boot开发实战系列课程【第6讲】:Spring Boot 2.0实战MyBatis与优化(Java面试题) 立即下载
低代码开发师(初级)实战教程 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载