3. MyBatis Plus CRUD 接口
大约 1 分钟
三、CRUD接口
官网地址:https://baomidou.com/pages/49cc81/#service-crud-%E6%8E%A5%E5%8F%A3
官网说明:
- 通用 Service CRUD 封装IService(opens new window)接口,进一步封装 CRUD 采用 get 查询单行 remove 删除 list 查询集合 page 分页 前缀命名方式区分 Mapper 层避免混淆,
- 泛型 T 为任意实体对象
- 建议如果存在自定义通用 Service 方法的可能,请创建自己的 IBaseService 继承 Mybatis-Plus 提供的基类
- 对象 Wrapper 为 条件构造器
在MyBatis-Plus中有一个接口 IService和其实现类 ServiceImpl,封装了常见的业务层逻辑
1.Service的使用
要使用CRUD的接口,那么我们自定义的Service接口需要继承IService接口。
/**
* User对应的Service接口
* 要使用MyBatisPlus的Service完成CRUD操作,得继承IService
*/
public interface IUserService extends IService<User> {
}
对应的Service实现得继承ServiceImpl同时指定mapper和实体对象。
/**
* Service的实现类
* 必须继承ServiceImpl 并且在泛型中指定 对应的Mapper和实体对象
*/
@Service
public class UserService extends ServiceImpl<UserMapper, User> implements IUserService {
}
2.查询操作
通过Service中提供的count方法可以查询总的记录数。get方法,List方法等
@Autowired
private IUserService userService;
@Test
void getUserCount() {
long count = userService.count();
System.out.println("count = " + count);
}
3.批量插入
在service中给我们提供了批量插入的方法
@Test
void saveBatchUser() {
List<User> list = new ArrayList<>();
for (int i = 0; i < 10; i++) {
User user = new User(null,"a"+i,10+i,"aaa@163.com");
list.add(user);
}
// 批量插入
userService.saveBatch(list);
// batchSize:50
// userService.saveBatch(list,50);
}
还有saveOrUpdate等方法,可自行应用。