首页 > 作文

mysql批量insert数据上限(mysql存储过程实例详解)

更新时间:2023-04-05 09:43:44 阅读: 评论:0

文章目录

前言1.单条数据插入表:1.1mapper代码:1.2单元测试:2.多条数据插入表:2.1方法1:2.2方法2:2.3单元测试:结尾

前言

mybatis批量插入返回自增id这在很多场景下会用到,比方说请求过来以后返回结果后的回更用自增id处理,或者主表产生id后去做其他的子表的业务关联。

1.单条数据插入表:

1.1mapper代码:

重点是配置:
ugeneratedkeys=“true” keyproperty=“id”

<inrt id="inrtlective" parametertype="com.gaosi.ur.gaosiurjack.modle.urlocal" ugeneratedkeys="true" keyproperty="id" >    inrt into tb_ur_local    <trim prefix="(" suffix=")" suffixoverrides=",">      <if test="id != null">        id,      </if>      <if test="name != null">        name,      </if>      <if test="age != null">        age,      </if>      <if test="createtime != null">        create_time,      </if>      农学学士<if test="updatetime != null">        update_time,      </if>    </trim>    <trim prefix="values (" suffix=")" suffixoverrides=",">   新月     <if test="id != null">        #{id,jdbctype=integer},      </if>      <if test="name != null">        #{name,jdbctype=varchar},      </if>      <if test="age != null">        #{age,jdbctype=integer海阳招虎山},      </if>      <if test="createtime != null">        #{createtime,jdbctype=timestamp},      </if>      <if test="updatetime != null">        #{updatetime,jdbctype=timestamp},      </if>    </trim>  </inrt>

1.2单元测试:

 @test    public  void  inrt1(){        urlocal urlocal=new urlocal();        urlocal.tname("单个姓名");        int result=urlocalmapper.inrtlective(urlocal);        system.out.println(urlocal);    }

2.多条数据插入表:

2.1方法1:

 <inrt id="inrtbatch2"  parametertype="java.util.list" ugeneratedkeys="true" keyproperty="id">        inrt into tb_ur_local (name,create_time)        <foreach collection="list" item="item" index="index" parator="union all">            lect            #{item.name},            now()            from dual        </foreach>    </inrt>

2.2方法2:

<inrt id="inrtbatch" parametertype="java.util.list" ugeneratedkeys="true" keyproperty="id">    inrt into    tb_ur_local (name,create_time)    values    <foreach collection="list" item="item" index="index" parator=",">      (#{item.name},now())    </foreach>  </inrt>

2.3单元测试:

  @test    public  void  inrtbatch(){        list<urlocal>list=new arraylist<>();        for (int i=0;i<钿头银篦3;i++){            urlocal urlocal=new urlocal();            u抗震设防rlocal.tname(i+"姓名");            list.add(urlocal);        }        int result=urlocalmapper.inrtbatch2(list);        system.out.println(list);    }

结尾

这其中需要注意的就是mybatis的版本必须是3.3x以上的版本,不能使用on duplicate key update等语法,如果使用的话,多条的数据只会返回第一条的数据自增id。这就是我使用mybatis批量插入后的总结,非常的实用,希望能帮助到大家。

本文发布于:2023-04-05 09:43:42,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/zuowen/575073a0005944346e61f435d802a37f.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

本文word下载地址:mysql批量insert数据上限(mysql存储过程实例详解).doc

本文 PDF 下载地址:mysql批量insert数据上限(mysql存储过程实例详解).pdf

标签:数据   单元测试   方法   多条
相关文章
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图