一、通用Service
MP中有一个接口 IService和其实现类 ServiceImpl,封装了常见的业务层逻辑
1、创建Service接口
创建 service 包,创建 UserService,继承 IService
package com.hank.mybatisplus.service;
public interface UserService extends IService<User> {
}
2、创建Service实现类
创建 impl 包,创建 UserServiceImpl,继承 ServiceImpl,实现 UserService
package com.hank.mybatisplus.service.impl;
@Service
public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements UserService {
}
3、创建测试类
创建ServiceTests
package com.hank.mybatisplus;
@SpringBootTest
public class ServiceTests {
@Resource
private UserService userService;
}
4、测试记录数
@Test
public void testCount(){
int count = userService.count();
System.out.println("总记录数:" + count);
}
5、测试批量插入
@Test
public void testSaveBatch(){
// SQL长度有限制,海量数据插入单条SQL无法实行,
// 因此MP将批量插入放在了通用Service中实现,而不是通用Mapper
ArrayList<User> users = new ArrayList<>();
for (int i = 0; i < 5; i++) {
User user = new User();
user.setName("Helen" + i);
user.setAge(10 + i);
users.add(user);
}
userService.saveBatch(users);
}
二、自定义Service
1、添加接口方法
UserService中添加接口方法
List<User> queryUsersByAge( Integer beginAge,Integer endAge);
2、实现接口方法
@Override
public List<User> listAllByName(String name) {
// baseMapper对象指向当前业务的mapper对象
return baseMapper.selectAllByName("Helen");
}
3、测试
ServiceTests中添加测试方法
@Test
public void testQueryUsersByAge(){
List<User> users = userService.queryUsersByAge(16,30);
users.forEach(System.out::println);
}