MP使用
1、在maven 中导入依赖
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>${yourVersion}</version>
</dependency>
2、创建接口
public interface UserMapper extends BaseMapper<User> {
}
3、测试中创建操作
@SpringBootTest
class testOfMP{
@Resource
private UserMapper userMapper;
@Test
void testSelectList() {
// 查询所有
List<User> users = userMapper.selectList(null);
users.forEach(System.out::println);
}
@Test
public void testInsert() {
User user = new User();
user.setName("Helen");
user.setAge(18);
int result = userMapper.insert(user); //插入用户
System.out.println("影响的行数:" + result); //影响的行数
System.out.println("id:" + user.getId()); //id自动回填
}
@Test
public void testSelect() {
//按id查询
User user = userMapper.selectById(1);
System.out.println(user);
//按照id列表查询
List<User> users = userMapper.selectBatchIds(Arrays.asList(1, 2, 3));
users.forEach(System.out::println);
//按条件查询
HashMap<String, Object> stringObjectHashMap = new HashMap<>();
stringObjectHashMap.put("name", "Helen");
stringObjectHashMap.put("age", 18);
List<User> users1 = userMapper.selectByMap(stringObjectHashMap);
users1.forEach(System.out::println);
}
@Test
public void testUpdate() {
User user = new User();
user.setId(1L);
user.setAge(28);
//注意:update时生成的sql自动是动态sql
//修改操作
int result = userMapper.updateById(user);
System.out.println("影响的行数:" + result);
}
@Test
public void testDelete() {
//删除操作
int result = userMapper.deleteById(5);
System.out.println("影响的行数:" + result);
}
通用Service
MP中有一个接口 IService和其实现类 ServiceImpl,封装了常见的业务层逻辑
使用方式:
1、创建Service接口
public interface UserService extends IService<User> {
}
2、创建Service实现类
@Service
public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements UserService {
}
3、创建测试类
@SpringBootTest
public class ServiceTests {
@Resource
private UserService userService;
@Test
public void testCount(){
int count = userService.count();
System.out.println("总记录数:" + count);
}
@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);
}
}