mybatis批量插入返回自增id这在很多场景下会用到,比方说请求过来以后返回结果后的回更用自增id处理,或者主表产生id后去做其他的子表的业务关联。
重点是配置:
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>
@test public void inrt1(){ urlocal urlocal=new urlocal(); urlocal.tname("单个姓名"); int result=urlocalmapper.inrtlective(urlocal); system.out.println(urlocal); }
<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>
<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>
@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 条评论) |