批量新增怎么返回id
时间: 2024-02-09 19:13:38 浏览: 67
ID批量查询
对于批量新增,可以使用Mybatis提供的batch插件实现,该插件支持返回自动生成的ID。具体实现方式如下:
1. 在Mapper.xml文件中,使用<selectKey>标签定义获取自动生成的ID的SQL语句。
示例代码如下:
```
<insert id="batchInsert" parameterType="java.util.List">
<selectKey keyProperty="id" order="AFTER" resultType="java.lang.Long">
SELECT LAST_INSERT_ID() AS id
</selectKey>
INSERT INTO table_name (column1, column2, column3) VALUES
<foreach collection="list" item="item" separator=",">
(#{item.column1}, #{item.column2}, #{item.column3})
</foreach>
</insert>
```
2. 在Java代码中,执行批量新增操作后,Mybatis会自动将生成的ID设置到对应的实体对象中。
示例代码如下:
```
List<Entity> entityList = new ArrayList<>();
// 添加实体对象到entityList中
mapper.batchInsert(entityList);
// 检查实体对象中是否包含ID
for (Entity entity : entityList) {
System.out.println(entity.getId());
}
```
需要注意的是,具体的实现方式会根据数据库的不同而有所区别。同时,如果使用的是分布式数据库,还需要考虑分布式ID生成器等相关技术。
阅读全文