接着上一节的案例,我们在测试类中测试MybatisPlus Mapper的CRUD操作。
1.insert操作
//测试添加单个用户资料
@Test
public void testInsert() {
Users u = new Users();
//手工添加主键
u.setId(6L);
u.setName("admin");
u.setEmail("admin@qq.com");
u.setAge(30);
int result = usersMapper.insert(u);
System.out.println("受影响的记录条数是:" + result);
System.out.println("新增记录的主键是:" + u.getId());
}
//测试批量添加
@Test
public void testInsertBatch() {
List<Users> users = new ArrayList<Users>();
int iCount = 0;
for (long i = 7; i < 20; i++) {
Users u = new Users();
u.setId(i);
u.setName("张" + i);
u.setAge(20 + (int) i);
u.setEmail("zhang" + i + "@qq.com");
int result = usersMapper.insert(u);
iCount += result;
}
System.out.println("受影响的记录条数是:" + iCount);
}
2.查询操作
//测试查询所有用户资料
@Test
public void testSelectList() {
System.out.println(("----- selectAll method test ------"));
//UserMapper 中的 selectList() 方法的参数为 MP 内置的条件封装器 Wrapper
//所以不填写就是无任何条件
List<Users> users = usersMapper.selectList(null);
users.forEach(System.out::println);
}
//根据ID查询单个用户资料
@Test
public void queryById() {
Users u = usersMapper.selectById(6);
System.out.println(u);
}
//通过多个id批量查询
@Test
public void queryBatchIds() {
List<Users> users = usersMapper.selectBatchIds(Arrays.asList(1, 2, 3));
users.forEach(System.out::println);
}
//简单条件查询
@Test
public void queryByMap() {
HashMap<String, Object> map = new HashMap<>();
map.put("name", "张三丰");
map.put("age", 30);
List<Users> users = usersMapper.selectByMap(map);
users.forEach(System.out::println);
}
3.更新操作
//测试更新
@Test
public void testUpdate() {
Users u = usersMapper.selectById(6);
u.setName("张三丰");
int result = usersMapper.updateById(u);
System.out.println("受影响的记录条数是:" + result);
}
4.删除操作
//测试根据ID删除
@Test
public void testDeleteById() {
int result = usersMapper.deleteById(6L);
System.out.println("受影响的记录条数是:" + result);
}
//测试批量删除
@Test
public void testDeleteBatchIds() {
int result = usersMapper.deleteBatchIds(Arrays.asList(8, 9, 10));
System.out.println("受影响的记录条数是:" + result);
}
//测试条件删除
@Test
public void testDeleteByMap() {
HashMap<String, Object> map = new HashMap<>();
map.put("email", "zhang19@qq.com");
map.put("age", 39);
int result = usersMapper.deleteByMap(map);
System.out.println(result);
}