MybatisPlus基于baseMapper实现批量插入
时间: 2023-07-20 18:18:44 浏览: 65
MybatisPlus的BaseMapper提供了一个batchInsert方法可以实现批量插入。
使用方法如下:
1.在实体类上添加@TableLogic注解,标识逻辑删除字段。
```java
@TableLogic
private Integer deleted;
```
2.在Mapper接口中添加batchInsert方法。
```java
public interface UserMapper extends BaseMapper<User> {
int batchInsert(List<User> list);
}
```
3.在xml文件中编写batchInsert方法的SQL语句。
```xml
<insert id="batchInsert" parameterType="java.util.List">
insert into user (id, username, password, deleted)
values
<foreach collection="list" item="item" separator=",">
(#{item.id}, #{item.username}, #{item.password}, #{item.deleted})
</foreach>
</insert>
```
4.在Service中调用batchInsert方法。
```java
@Service
public class UserServiceImpl implements UserService {
@Autowired
private UserMapper userMapper;
@Override
public boolean batchInsert(List<User> userList) {
return userMapper.batchInsert(userList) > 0;
}
}
```
注意:在使用batchInsert方法时,需要保证插入的数据条数不超过数据库的最大限制。