首页 > 数据库 >mybatis实现数据库批量插入两种方式

mybatis实现数据库批量插入两种方式

时间:2023-03-10 14:12:47浏览次数:28  
标签:map uid 批量 数据库 List item jdbcType mybatis email

一、一次插入多个对象

  <insert id="addList">
        insert into user
        (name,age,mobilephone,sex,birthday,email) values
        <foreach collection="contactInfos" item="item" open="(" close=")" separator="),(">
            #{item.name,jdbcType=VARCHAR},
            #{item.age,jdbcType=INTEGER},
            #{item.mobilephone,jdbcType=VARCHAR},
            #{item.sex,jdbcType=INTEGER},
            #{item.birthday,jdbcType=TIMESTAMP},
            #{item.email,jdbcType=VARCHAR}
        </foreach>
    </insert>
二、一次插入一个map集合,value为List

  String uid = "aaa";
  List<String> phoneList;
  List<String> emailList;
  List<Map> mapList = new ArrayList<>();
  for (int i=0; i<phoneList.size(); i++) {
    Map map = new HashMap();
    map.put("phone",phoneList.get(i));
    map.put("email",emailList.get(i));
    mapList.add(map);
  }
  contactMapper.addList(uid, mapList);
  <insert id="addList">
        insert into contact values
        <foreach collection="contactMapList" item="map" index="index" close=";" separator=",">
            (#{uid},
            #{map.phone},
            #{map.email})
        </foreach>
      </insert>

标签:map,uid,批量,数据库,List,item,jdbcType,mybatis,email
From: https://www.cnblogs.com/csnjava/p/17203150.html

相关文章

  • mybatis 缓存机制
    #1、mybatis的缓存--减少和数据库的交互降低数据库压力#2、缓存机制原理第一次sql查询的时候将结果缓存(保存内存中),下一次sql查询与第一次相同,如果缓存有数据直接从缓......
  • SQLServer2016 AlwaysOn数据库重新加入可用性组
    SQLServer2016AlwaysOn架构,主副本SQLServer服务重启  SQLServer主副本SQLServer重启服务之后,AlwaysOn......
  • Mybatis-lesson1-2023-3-10
    第一步:maven依赖搭建,同时把build内容加上。避免后期丢失的问题<?xmlversion="1.0"encoding="UTF-8"?><projectxmlns="http://maven.apache.org/POM/4.0.0"......
  • 记录一个服务器数据库被偷事件
    在项目中突然发现服务器中数据库连不上了,然后去服务器中登陆也不好使,报错误密码然后设置了跳过密码校验,进去之后查看用户,发现root用户不在了又通过这位老哥的方法添加了r......
  • 批量删除 前后端
    <!DOCTYPEhtml><htmlclass="x-admin-sm"><head><metacharset="UTF-8"><title>欢迎页面-X-admin2.2</title><metaname="renderer"content="webkit"><m......
  • Mybatis学习日志
    查询user表中所有数据1,创建user表,添加数据  2,创建模块,导入坐标 3,编写MyBatis核心配置文件-->替换链接信息解决编码问题4,编写SQL映射文件-->统一管理sql语句,解......
  • IDEA中使用JDBC连接MySQL数据库报错:No appropriate protocol (protocol is disabled o
    在IDEA中使用JDBC连接MySQL,程序运行之后报错:  定位到第16行:  根据上面报错提示,在url参数字段最前面添加参数 useSSL=false :  再次运行程序,成功连接到......
  • 路飞-day10——celery执行异步、延迟、定时任务,django中使用celery(秒杀商品功能),轮播图
    目录一、celery执行异步任务,延迟任务,定时任务异步任务延迟任务定时任务二、django中使用celery2.1定时任务推荐使用的框架(了解)2.2秒杀功能2.2.1秒杀功能逻辑分析2.1.2......
  • 【Mybatis】【插件】Mybatis源码解析-插件机制
    1 前言这节我们来看看插件,插件是来干啥的呢?一般情况下,开源框架都会提供插件或其他形式的拓展点,供开发者自行拓展。这样的好处是显而易见的,一是增加了框架的灵活性。二......
  • 明解数据库------数据库存储演变史
    一、文件系统存储计算机刚开始出现的时候,那时候没有硬盘,只有内存,数据不会进行存储,一般只用于科技计算,计算完输出结果后,程序就撤出内存了。后来随着技术发展,有了硬盘、文......