Mybatis批量插入返回自增ID这在很多场景下会用到,比方说请求过来以后返回结果后的回更用自增id处理,或者主表产生id后去做其他的子表的业务关联。
重点是配置:
useGeneratedKeys=“true” keyProperty=“id”
insert into tb_user_local
id,
name,
age,
create_time,
update_time,
#{id,jdbcType=INTEGER},
#{name,jdbcType=VARCHAR},
#{age,jdbcType=INTEGER},
#{createTime,jdbcType=TIMESTAMP},
#{updateTime,jdbcType=TIMESTAMP},
@Test
public void insert1(){
UserLocal userLocal=new UserLocal();
userLocal.setName("单个姓名");
int result=userLocalMapper.insertSelective(userLocal);
System.out.println(userLocal);
}
insert into tb_user_local (name,create_time)
SELECT
#{item.name},
now()
FROM DUAL
INSERT INTO
tb_user_local (name,create_time)
VALUES
(#{item.name},now())
@Test
public void insertBatch(){
Listlist=new ArrayList<>();
for (int i=0;i<3;i++){
UserLocal userLocal=new UserLocal();
userLocal.setName(i+"姓名");
list.add(userLocal);
}
int result=userLocalMapper.insertBatch2(list);
System.out.println(list);
}
这其中需要注意的就是mybatis的版本必须是3.3x以上的版本,不能使用ON DUPLICATE KEY UPDATE等语法,如果使用的话,多条的数据只会返回第一条的数据自增id。这就是我使用mybatis批量插入后的总结,非常的实用,希望能帮助到大家。
页面更新:2024-06-08
本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828
© CopyRight 2020-2024 All Rights Reserved. Powered By 71396.com 闽ICP备11008920号-4
闽公网安备35020302034903号