mybatisPlus 批量插入返回id
时间: 2023-07-06 14:40:26 浏览: 533
MybatisPlus 批量插入返回 id 的方式有两种:
1. 在实体类中定义一个带有 @TableId 注解的 Long 类型的 id 属性,并且设置该属性的 insertable 属性值为 false,这样在执行批量插入操作时,会自动将数据库生成的 id 填充到该属性中。
2. 在执行批量插入操作时,使用 BatchExecutorType.REUSE 批处理方式,并且将批处理的 StatementType 设置为 StatementType.STATEMENT,这样就可以通过 Statement.getGeneratedKeys() 获取到批量插入的 id 值。
下面是第一种方式的示例代码:
```java
List<User> userList = new ArrayList<>();
userList.add(new User("user1"));
userList.add(new User("user2"));
userList.add(new User("user3"));
userMapper.insertBatchSomeColumn(userList);
for (User user : userList) {
System.out.println(user.getId());
}
```
在该示例中,User 实体类中定义了一个名为 id 的 Long 类型属性,并且带有 @TableId 注解,insertable 属性值设置为 false。在执行批量插入操作后,可以通过遍历 userList 获取到每个 User 对象的 id 值。
注意:第一种方式只适用于自增主键的情况。如果主键不是自增的,则需要使用第二种方式获取 id 值。
阅读全文