mybatis plus 批量插入
时间: 2023-08-27 20:19:52 浏览: 192
Mybatis Plus 自定义批量插入或批量更新(根据唯一索引)
MyBatis-Plus 提供了批量插入的功能,可以方便地一次性插入多条数据。下面是一个使用 MyBatis-Plus 进行批量插入的示例:
1. 首先,定义一个实体类或者对应的数据传输对象(DTO),用于封装要插入的数据:
```java
public class User {
private Long id;
private String name;
private Integer age;
// 省略 getter 和 setter 方法
}
```
2. 然后,编写一个 Mapper 接口,继承 MyBatis-Plus 的 BaseMapper,并添加一个批量插入的方法:
```java
public interface UserMapper extends BaseMapper<User> {
void batchInsert(List<User> userList);
}
```
3. 在对应的 Mapper XML 文件中,实现批量插入方法:
```xml
<insert id="batchInsert" parameterType="java.util.List">
insert into user (id, name, age)
values
<foreach collection="list" item="item" index="index" separator=",">
(#{item.id}, #{item.name}, #{item.age})
</foreach>
</insert>
```
4. 最后,在业务逻辑中调用批量插入的方法:
```java
@Service
public class UserService {
@Autowired
private UserMapper userMapper;
public void batchInsertUsers(List<User> userList) {
userMapper.batchInsert(userList);
}
}
```
通过以上步骤,你就可以使用 MyBatis-Plus 进行批量插入操作了。在业务逻辑中,你可以创建一个包含多个 User 对象的列表,然后调用 `batchInsertUsers` 方法进行批量插入。
注意:批量插入时,需要注意数据库的限制和性能问题。在某些数据库中,批量插入的数据量可能有限制,超过限制可能导致插入失败。此外,对于大批量插入操作,可能需要考虑分批次插入或使用其他方式优化性能。
阅读全文