MybatisPlus基于baseMapper实现批量插入,写一个通用模板,支持不同实体类插入
时间: 2023-07-20 12:18:44 浏览: 158
Mybatis数据批量插入如何实现
可以通过泛型实现一个通用的批量插入方法,支持不同实体类的插入。具体实现如下:
1. 定义一个BaseService接口,作为其他Service接口的父接口,包含批量插入方法batchInsert。
```java
public interface BaseService<T> {
boolean batchInsert(List<T> list);
}
```
2. 定义一个BaseServiceImpl实现BaseService接口,作为其他Service实现类的父类,实现批量插入方法batchInsert。
```java
public class BaseServiceImpl<M extends BaseMapper<T>, T> implements BaseService<T> {
@Autowired
protected M baseMapper;
@Override
public boolean batchInsert(List<T> list) {
return baseMapper.batchInsert(list) > 0;
}
}
```
3. 定义其他Service接口继承BaseService接口,实现自己的业务方法。
```java
public interface UserService extends BaseService<User> {
//其他业务方法
}
```
4. 定义其他Service实现类继承BaseServiceImpl类,实现自己的业务方法。
```java
@Service
public class UserServiceImpl extends BaseServiceImpl<UserMapper, User> implements UserService {
//实现自己的业务方法
}
```
这样就可以在不同的Service中调用batchInsert方法,实现批量插入不同实体类的数据。
阅读全文